I get around 950kByte/s connected to the PC directly and about 1050kByte/s with a USB 2 hub (no issues with either Linux or Windows).
Your computers likely have 2 separate USB controllers connected to the same ports, a USB 1.x controller and a USB 2 (or 3) controller. Your computer switches the controller based on the connected device. There may be bugs in the USB chipset on either side. Putting a USB 2 hub in-between may fix things. This will put your computer into USB 2 mode. There are also completely different USB drivers used on the Windows side when you switch to USB 2 by using a hub.
OpenHCD suggests some OHCI non-Intel controller. Are all your machines using some AMD USB controller? The USB 1 stuff inside might be identical for all of them.