I am not sure that is how MacOS breaks. Two keyboards connected to different USB ports worked pretty well the last time I tried it, even holding Shift on one keyboard, pressing A on the other keyboard and getting an upper-case 'A' in the text editor ... but I admit that these were both Apple aluminium keyboards, which might have a better driver.
The USB HID protocol is a bit complex, involving a format for the host to parse, and where there is complexity of this sort, there are often different interpretations.
Soarer found a much better way to do NKRO over USB that works on both MacOS, Linux, Windows and most BIOSes without breaking: Send always a 6KRO "boot" report and use a proper NKRO protocol that contains a bit for each key in the packet, but tell the host in a "report descriptor" that the 6KRO packets are empty. All real OS:es will adhere to the report descriptor and thus use only the NKRO packets, but some BIOS:es will ignore it and will blatantly assume that the keyboard talks the "boot" protocol -- which it also does.