Isn’t the cause the configuration of GL.iNet?
Today, I ran into the same issue. Via the Web interface of my GL.iNet, I reverted to factory defaults, the mode is Router, changed the Internet to PPPoE, and enabled IPv6. I checked with Wireshark – both – the WAN and the LAN interface. I checked via LuCI.
GL.iNet → Web → LAN defaults to ‘native’ mode. However in OpenWrt, that does not set the default mode ‘server’ but ‘relay’. In Wireshark, on the LAN side, I see the IPv6 Router Advertisements state not Router but Proxy. In Wireshark, on the WAN side, I see relay-forwarded DHCPv6 messages of my LAN clients. This does not work with PPPoE services. At least those here in my country.
After changing the LAN mode to ‘NAT6’, in the GL.iNet Web interface, IPv6 connectivity works because everything is changed to ‘server’ in OpenWrt land. However, because it activates NAT6 as well, I see those silly ULA prefix + DNS server again.
Could the GL.iNet team check what is up? I use the latest snapshot for a AR300M16. The default LAN mode for a PPPoE in WAN should use ‘server’ in OpenWrt land. Or stated differently, with the current approach, IPv6 over PPPoE is broken.