Tailscale is simpler but when you're accessing from devices behind VPNs like I do mTLS is a lifesaver.
I use DAVx⁵ for caldav (supports mTLS)
I find mTLS cool too :P
In terms of being a pain it's not that bad with nginx in my opinion. I can just build my own certificate for each service I expose or you use a common one, giving read only access to the key for my nginx containers and in two lines in the .conf it's sorted.
Not any in particular but mTLS is essentially just a reverse proxy (like nginx) asking a client for a certificate to be able to access the service behind it.
There are quite a few guides out there, so choose one for your reverse proxy of choice!