There are a number of ways, some require exposing your HA to the internet, some you can’t use if like me your internet provider doesn’t offer an IPv4 address due to CGNAT
I use Cloudflared. It’s entirely free and super secure. No port forwarding, no putting your HA in a DMZ or even having uPNP enabled. It uses Cloudflared zero trust tunnels that also means all you need is a browser or the home assistant app on your phone. No vpn tunnels either.
The easiest way to get setup is to follow this video https://m.youtube.com/watch?v=xXAwT9N-7Hw&pp=0gcJCTQCo7VqN5tD
Fully step by step from obtaining a domain name to install and configure.
