If you can rent a vps you can use it as a relay server. You setup sshd on your home pc and ssh to the vps with the -R flag.
ssh -R 8022:localhost:22 user@relay
As long as the connection is live you can ssh to the server via relay. If you set GatewayPorts to yes on the relay in sshd_config then it will act as an open port on your home pc and anyone will be able to connect to it over the internet with
ssh -p 8022 user@relay
so make sure to secure it correctly, only allow ssh keys etc. If you set GatewayPorts to no, then only clients connected to the relay will be able to connect to the server, this is a must have if you're gonna use unsecure protocols like VNC. First ssh to the server
ssh user@relay
next
ssh user@localhost -p 8022
or one line, especially useful when combined with -i to point at the home pc's ssh key stored on the client
ssh -J user@relay user@localhost -p 8022
You can also setup VNC over ssh. Add 2nd -R on home pc with vnc ports
ssh -R 5901:localhost:5901 user@relay
or together
ssh -R 8022:localhost:22 -R 5901:localhost:5901 user@relay
On the client ssh with the -L flag
ssh -L 5091:localhost:5091 user@relay
Now you can connect your VNC client to
localhost:1