It might also just be a situation of "it's there, doesn't hurt anyone, doesn't cause much work, removing it could hurt someone". Windows needs (or at least used to need) keyboard support earlier in the boot sequence than mouse support. It's plausible that they load the entire USB stack early on to get keyboards etc working, then sometime later some ancient code iterates all serial ports to check for serial mice. To that driver, USB-Serial bridges and "native" serial ports should look the same through the hardware abstraction layer.
The leaked Windows XP code contains a lot of ancient code, some apparently taken from MSDOS. They later removed some of that, but apparently not this part.
> It's plausible that they load the entire USB stack early on to get keyboards etc working, then sometime later some ancient code iterates all serial ports to check for serial mice. To that driver, USB-Serial bridges and "native" serial ports should look the same through the hardware abstraction layer.
That's exactly it. When a serial port is initialized on Windows, it looks for data coming in, and if the right 'garbage' at the right time is picked up, Windows will then hook the mouse driver.
This can lead into the unintentional effect of "plug in <serial-based device, like a GPS>, mouse suddenly goes wild". In my case... works as designed - serial mouse on USB-C dongle just works ;)
The leaked Windows XP code contains a lot of ancient code, some apparently taken from MSDOS. They later removed some of that, but apparently not this part.