I use restic with a wrapper script to automate it on all of my machines. The backend storage can be anything that speaks S3, so B2, or iDrive would both work. I currently use Storj for my backend. It’s globally distributed storage, so no single point of failure geographically and it’s cheap. Backblaze is also a great company, but I’ve grown a little skeptical since they went public.
I’ve used AirVPN for this exact setup and it works great. The port forwarding is static and doesn’t change once setup. I switched to proton because it was convenient, I was already paying for ProtonMail et all, so I dropped the extra VPN subscription when it renewed.