I would recommend not exposing your ssh connection to the internet as you may end up wanting to use more services from the device outside of your home lan and this could end up with you opening up multiple ports.
Instead I recommend that you install openvpn and connect through that then you ssh as if you are on your lan, and access any other devices on your lan.
This guide is the most comprehensive as I found some of the rpi specific ones had pieces missing.
You should be able to use the default configuration files for both the client and the server. to get the functionality of accessing the other machines on your lan you will need to add the following to your
push "route 10.66.0.0 255.255.255.0"