I've discovered that the lack of the
ip6tables command causes Tailscale to not bind it's internal IPv6 address.
Error log from
router: disabling tunneled IPv6 due to system IPv6 config: exec: "ip6tables": executable file not found in $PATH
As the wiki only instructs to install
iptables-nft and not installing
ip6tables-nft alongside it.
This is a very minor change but would fix Tailscale binding it's v6 address.
Section in question : https://openwrt.org/docs/guide-user/services/vpn/tailscale/start#openwrt_2203_issue
ip6tables-nft package in the install instructions along side with
iptables-nft could save others the hour of debugging I just did.
Let me know if this is by chance incorrect, but it did solve the issue of the IPv6 internal address not binding to tailscale0 on my side.