Also the 'input' subsystem extracts 'bus' here for a second chance after 'HID_ID' above.
Yes, I think this matters, so reordering would break that.
What about just letting "usb" subsystem parse PRODUCT= again, still keeping the BT bus guard to avoid parsing the BT dongle IDs, regardless of whether a device version was previously found already?