+1 for VPN
First setup that Pi as a VPN server and test connecting from local network.
Then, to reach the entire home network throught the VPN, you need to add a route. Say you use 10.8.0.0/24 for the VPN network, then you need something like the option "push route 10.8.0.0/24" in your VPN server config, so that VPN clients get to know the rest of the network.
Also in your Internet router you might need to add a static route:
target network: 10.8.0.0/24 gateway: your VPN-server IP address
Then add a port forwarding rule to your router to forward VPN traffic to your Pi
Lastly add a dynamic DNS service to connect from outside.
Sounds like much trouble, but is worth the effort in the long run!