For me, it’s all boils down to not having to type the port number in the url + centralized ssl certs. Instead of having the users type, say, https://nas.srv.lan:1234/ into their browser I can just make the proxy forward https://nas.srv.lan/ to http://some-nas-ip:1234/. It saves me from having to configure ssl/https and port configs for each service on each host, and as long as I pretend my homelab network is secure (it’s not), using http internaly (between the proxy and service hosts), while keeping stuff encrypted externally (between the users and the proxy), is relatively ok and much easier to configure. I know that there’s more to it, load balancing etc but for me that’s it.
Hope I was of some help

I could make it so that each host has a separate dns record. This would immediately fix the ssh issue, and the smb issue (probably), because the connections would go directly to the service host, instead of the external proxy (currently running ‘ssh user@nas.srv.lan’ connects me to the proxy instead of nas). I could keep the behaviour the same for the end user - they can still type https://nas.srv.lan/ and get the nas dashboard, if that makes sense. But, like i said, the issue is the resource consumption and having to manage multiple proxies at once