You think linux doesn't have a firewall? I'm fairly certain every distribution has one installed and enabled by default.
The real reason linux worked so well in this situation was the local admin rights that came from being a rogue, unmanaged device on the network. I'm sure they could have made windows work if all the group policies weren't being enforced.
Even if you wrote the code yourself you can come back to it a while later and have a wtf moment ¯\_(ツ)_/¯
I tried setting this up a few years ago without success. Prompted by your post I took another look and I think I was trying to serve my key from a mishmash of the direct and advanced URIs (although I don't remember there being an advanced and direct method when I first tried this) and I had a TXT record setup in DNS as well for some reason. Might have been following a draft RFC? Whatever I was trying, it didn't work for me then.
No one I know other than a couple of services I have accounts with use pgp so it is of little use to me right now. But I am glad it is now working and I don't need to rely on any 3rd party keyservers. So thanks for the prompt and the write-up.