I can confirm that IPv6 via a 6to4 relay is, indeed, unbearably slow. I just ran the test at »ipv6-test.com/speedtest/
- my IPv4 speed is 16.4 Mbit/s, and my IPv6 speed is 148 Kbit/s... over two orders of magnitude slower. I haven't done any long-term testing, so I can't speak to the reliability of the connection.
You mentioned that you'd be forced to set up 6to4 on your LAN machines with a 6to4 router setup; that's not the case. From the perspective of LAN devices, they have a native IPv6 connection. The router has a LAN-facing IPv6 address (2002:473a:21c:1::1), and it assigns valid and functional IPv6 addresses to the LAN devices with the same 2002:473a:21c:1 prefix. Several devices on my network with varying operating systems, all set to retrieve addresses via DHCP, were successfully assigned their own IPv6 addresses without any configuration after setting up 6to4 on the router.
Obviously, native IPv6 would be better, and that's what I've been trying to do too.
With the combination of a working WAN interface using your script and a working LAN interface using the 6to4 relay, I feel like we're getting close to a comprehensive solution!