WirePlumber 0.5 – How to enforce priority-based auto-switching?

I’ve set custom priority.session values for my sinks (e.g., dock > internal speakers). Auto-switching works — until I manually select a device from the KDE tray.

Once I pick something in the tray, it becomes the “configured default,” and priority-based switching stops. You can see this in wpctl status:

Settings
 └─ Default Configured Devices:
     0. Audio/Sink alsa_output.pci-0000_00_1f.3.analog-stereo

WirePlumber stores this in ~/.local/state/wireplumber/default-nodes. Clearing it with wpctl clear-default restores priority-based switching — but KDE can overwrite it again.

Question: How can I make WirePlumber always respect priority and ignore user-selected defaults, for fully automatic switching?

52-dock.conf

monitor.alsa.rules = [
  {
    matches = [
      { node.name = "alsa_output.usb-Lenovo_ThinkPad_Thunderbolt_3_Dock_USB_Audio_000000000000-00.analog-stereo" }
    ]
    actions = {
      update-props = {
        node.description = "Dock Headphones"
        node.nick = "Dock Headphones (nick)"
        priority.driver = 1020
        priority.session = 1020
      }
    }
  },
  {
    matches = [
      { node.name = "alsa_input.usb-Lenovo_ThinkPad_Thunderbolt_3_Dock_USB_Audio_000000000000-00.mono-fallback" }
    ]
    actions = {
      update-props = {
        node.description = "Dock Microphone"
        node.nick = "Dock Microphone (nick)"
        node.disabled = true
      }
    }
  }
]

53-laptop.conf

# MANAGED BY ANSIBLE
monitor.alsa.rules = [
  {
    matches = [
      { node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo" }
    ]
    actions = {
      update-props = {
        node.description = "Internal Speakers"
        node.nick = "Internal Speakers (nick)"
        priority.driver = 1010
        priority.session = 1010
      }
    }
  },
  {
    matches = [
      { node.name = "alsa_input.pci-0000_00_1f.3.analog-stereo" }
    ]
    actions = {
      update-props = {
        node.description = "Internal Microphone"
        node.nick = "Internal Microphone (nick)"
        node.disabled = true
      }
    }
  }
]