I think the best way to do this is to setup a Wireguard VPN server on the router itself or on a machine in the LAN. The router firewall will block everything inbound(tcp/udp) except to the inbound VPN udp/IP/port.
Then on the client side you setup a Wireguard client that connects to your Wireguard server remotely and access the LAN resources from there.
Will lemmy.one be IPv6 enabled ?
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.
Nothing else I can think of. Good luck.