> though you'll need to acquire either a static IP or a dynamic DNS record
That's the whole point. With some ISPs using CG-NAT, you don't have a public IP.
I have three computers at home running an SSH server. Two have to be on non-default ports, since I only have one IP.
And in fact I run a Jabber server off my home IP. But if my ISP catches me at it, they could point to the line in their contract saying "no servers" and demand that I turn it off. (Or just block it outright.) They probably won't, but still.
You still can, and you really don't have to host with a big provider if you don't want to. The only reason we hear about it so much is because all the engineering articles come from people who work at companies with insanely high scaling requirements. If you want to throw up an XAMPP server at home you still can, though you'll need to acquire either a static IP or a dynamic DNS record to point people to.