I have NEVER heard of an AT keyboard working on a PC/XT regardless of BIOS unless it had a switch on it to do so. That's definitely news to me... Though it might be auto-sense related to that endless string of 0xAA with the parity wrong that times out eventually. If that fails to get a "resend" message could that be the trigger?
... and since the PS/2 to AT converter cable is pin to pin other than dropping the (officially "Not used") reset line, just how would that NOT work exactly?!? It's four lines with NO changes, no circuitry. Data, Clock, Ground, +5v. That's it. It's the same protocol on the same wiring, just different plugs!
... and @nc_mike, I think you lost me at 5/86... With an AT keyboard I assumed you meant AT/later BIOS... is the 86 the year number or something? While I worked on a few early PC's and XT's, I was really more of a clone guy. Sounds like something even LESS likely to work on a clone. I never even heard of an XT BIOS that supports 101 key keyboards, so I assumed you were talking about an AT class or later one!
Also not sure how that would even work given the hardware wouldn't even EXIST on the system side to handle AT signalling.
Side note, figured out why I was having trouble reading the AT keyboard, it wasn't the keyboard, or my wiring, or my code... it was another broke-ass crappy USB cable between the Arduino and the computer I was using to debug. Laughably it was the cable from a real Arduino that failed... the cheap cable that came for free with the knockoff DCCDuino Nano? Works flawless.
I swear, one of these days I'm going to track down the creators of USB and SATA plugs and pull a Jay and Silent Bob... How many people wanna kick some ass? I'm one step away from stripping the ends off all my USB cables and device jacks and replacing them with old-fashioned 4 pin DIN! At least that would be reliable and not break if you accidentally sneeze in the same room...