To check the IRQ assignments I logged in using the on-screen keyboard and then went to the Device Manager and then selected View Resources by Connection. Expanding the IRQ tab shows which interrupts are being used.
I just did this with the PS/2 keyboard on a cold-boot and it shows nothing using that IRQ so I guess that is a dead end.
So we are back at the question of what is done differently in a cold-boot versus a warm-boot.
I am thinking the problem is a timing issue in where the older PS/2 keyboards are not given enough time to respond before the OS decides they aren't there. Maybe the driver is loaded in a warm-boot before querying the IRQ and the keyboard can reply in time while the driver in a cold-boot is not loaded until the timer starts and there isn't enough time to reply.
That's a question for Microsoft to answer, if they are really interested in solving this issue. I think they may have decided since there is no problems with USB keyboards or newer PS/2 keyboards there is no problem. There is no need to spend time fixing something for "legacy" devices.