In practice, it does mean you need an origin available all the time, and it's either you providing it, or some other service you pay to do it. I don't think there's any magic.
Otherwise, you can use https://www.eternum.io/ (which is a service we also made) to basically seed your site for a few cents a month.
But since most browsers don't support IPFS natively yet there are IPFS gateways that allow you to access IPFS sites through them.
If you're wanting to make something with DNS in front of it to mask the long IPFS content hashes, you can do that too, there's a good overview of the process in their examples:
https://ipfs.io/docs/examples/example-viewer/example#../webs...
(xmpp might be a special case here - I'm uncertain of the underlying transport for jabber; could be that js+http(s) is enough to simulate actual jabber client?)