What’s my optimal choice for remote access to my localhost sites?

This isnt a direct answer, but maybe can solve your problem.
Why just dont open a port on your router to the local server?!

I use apache2 has localserver and apache2 uses port 80 as default and also most routers to get access to internet in this case the router doesnt open any port at port 80 because is being already use by the router, but for example my mysql server database uses a different port, so to mysql database I only need to open a port in my rooter and anyone in the world with the credentials can access this database, if your server uses a different port (normally port 80) than your router, like mysql server you can just open a port in your internet router, then anyone whith your ip, the port you set on the router and the credentials can get access.

examples:

my localhost access path: localhost/name_of_website

if I open a router port on for example 3321 and my home ip is 2222.33333.5555

I can acess the same address from anywhere with 2222.33333.5555:3321/name_of_website

If your local server uses the port 80 or 4 like mine, the process is a little more complex. but it is possible!
Now for direct programs that do that automatically, I do not know names!

One other way, maybe not so preferable is for example use a remote assistance software like TeamViewer or Microsoft Remote Assist.