EDIT : found it! It appears usbaudio is disabled by default
EDIT : found the reason, the routing lut does not list a usb entry:
How to test this?
EDIT2 : of course the kernel could also expose the device as “headset” instead of “usbaudio”; wonder if there is a way to override this… the “usbaudio” is not used in the kernel sources, so it must be a driver / udev thing. It seems to be also not coming from the udev…and also pulseaudio from sfos repo has no reference to it. So what is left is the driver. However, I can see an issue here : Setting “any” usbaudio to headset might potentially be misleading. So overriding the usbaudio depending on the device might still be the better option (dont know if its possible via UDEV?)
EDIT3 : the plot thickens, as the DBus seems to be involved as well:
Sources and sinks may have “device.form_factor” property. Form factor is a short string describing device type, e.g. “handset”, “headset”, “speaker”, or “microphone”.
apparently, pulseaudio considers also the UDEV property SOUND_FORM_FACTOR