It seems your main problem is with dynamic prefix assignment by your ISP. With this alone it is hard todo what you want reliably. There's 3 options you can opt for:-
Bug your ISP to hand you a static prefix. (/56, /60)
Use a tunnel broker(HENET)
Setup a Wireguard VPN on Linode and route that to your home. You get a fixed /56 from them.