I just realized that in the middle of the night. It's interrupt driven, and ATMega has only 1 level of interrupt.
That's not completely correct, higher level interrupts are just deactivated by default on the ATmegas. But even if you have more than one interrupt level the processor can do only one thing at a time and with the way SoftwareSerial is programmed you'll never get it full duplex.