Interesting that -zapwallettxes was required... I would not have thought that the transaction from Armory would be "stored" by Bitcoin Core like that.

Armory uses core to broadcast transactions.
When there is no internet connection, armory still tries to broadcast it using core. Core just isn't able to forward it into the network.
So it kinda has to be somewhere "stored" by core.