You may have to use port forwarding or a reverse proxy but the end result is functionally identical to plex. IMO the server detection feature of Plex is overengineered for what it is, and I just sit it behind my reverse proxy and connect to it that way.
As for music and apps yeah Plex is pretty nice, but even for audio you could use other services if Jellyfin didn't fit your needs like Navidrome
I use nginx proxy manager and expose it behind a subdomain entry on cloudflare (though you can use any DDNS service i bet). NPM handles the security so I get HSTS and HTTPS on Plex and Jellyfin without either needing it set themselves.
From there anyone can access Jellyfin/Plex via my subdomains (plex.mydomain.com or watch.mydomain.com at the mo)