Reverse proxy/SOCKS5 works well in my experience.
I have a little computer on my network which runs my VPN - then on that computer I have ssh listening on a non-standard port that my VPN's dyndns links up to a human readable hostname with a different port.
If I want to watch stuff off-network I just have to ssh -D to that hostname and port and then configure a browser to use the connection as a SOCKS5 proxy, then jellyfin and anything else I'm hosting works as if locally through that browser.
The ssh is key based as well, not password based - haven't had any incidents in doing it this way.