You can use your windows or Mac laptop with visual studio code to do web development. ng serve works as if you ran it from your laptop.
The biggest drawback I can think of is if you ever needed to leave the house. Thankfully, I have no life so I don't have this problem.
Add ZeroTier to the equation and as long as you have Internet connection when you're outside the house you'll probably not even notice it.
I just use ssh. SSH to a VPS and map 22 to a port on the VPS.
I have a really small VPS for this.
I think poking a hole on port 22 is mostly ok if you only allow key authentication and no password authentication but I don't know enough to give advice on security.
I use a VPS with SSH. I have to ssh in, then I can ssh into the machine at home.
For safety, key authentication and fail2ban would cover a lot. I mainly have the 1 port.
If I need to expose another SSH port to the internet, I can do it, but yes, it would need extra protection since logs are coming from the machine ssh'ing in.
Changing the port from the default 22 to something else is also recommended, if only because it makes fail2ban logs way less verbose.
Does it solve the security problem by preventing access to the majority of your home directory?
Or solve it by only allowing you to install vetted libraries?