For situations where you have no control over the NAT then this is indeed the case.
Though, 9front lets you run your own NAT giving you an Internet facing 9 machine you can serve a TLS tunnel from directly. So the server side is solved making the client side NAT a non issue.
If your 9front machine is in a position on the network whereby it could serve a NAT, you don't have many networking problems at that point. Almost all operating systems can do NAT in such a position.
I'm talking about two machines deep in somebody else's network or where you don't control the router/NAT.