The issue is that we want to avoid creating duplicate devices, and when both an hidraw and non-hidraw devices are accessible for the same hardware device, we want to discard the hidraw device instead if it's not preferred.
I've created https://gitlab.winehq.org/wine/wine/-/merge_requests/5352 instead, which passes the device HID usages information to the main loop, and prefer hidraw for anything that is not a game controller. And for hidraw devices, on Linux, we have to request the device report descriptor to get that information, and it can only be parsed on the PE side.