Missing IPv6 route for LAN devices

I have a dual WAN (both FTTH) setup on Linksys WRT32X:
Main (China Unicom, metric 0): ONU runs in bridge mode and WRT32X dials PPPoE.
Backup (China Mobile, metric 20): ONU runs in router mode, and WRT32X is a DHCPv4 client.

CU only allocates /64s through DHCPv6 on top of PPPoE, so I turned on relay mode on the LAN interface.

LAN devices are assigned IPv6 addresses, and DNSv6 works, but IPv6 hosts on the Internet are unreachable until I ping WRT32X’s IPv6 address from LAN.

It seems to be a neighbor discovery issue, but I don’t know enough about network engineering.

Before I ping WRT32X:

root@Linksys04943:~# ip n
192.168.123.1 dev br-lan.4 lladdr 06:a1:51:b7:67:7b ref 1 used 0/0/0 probes 1 REACHABLE
192.168.122.141 dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 ref 1 used 0/0/0 probes 1 REACHABLE
192.168.124.142 dev br-wifi lladdr 56:7a:ea:05:6b:06 used 0/0/0 probes 1 STALE
fe80::845c:69de:362e:800b dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 ref 1 used 0/0/0 probes 1 REACHABLE
root@Linksys04943:~# ip -6 r
default from 2408:8234:3f03:3d7::/64 via fe80::ce1a:faff:feed:8f40 dev pppoe-wan  metric 512
default from 2408:8234:3f13:683::/64 via fe80::ce1a:faff:feed:8f40 dev pppoe-wan  metric 512
unreachable 2408:8234:3f03:3d7::/64 dev lo  metric 2147483647
unreachable 2408:8234:3f13:683::/64 dev lo  metric 2147483647
unreachable fd92:f364:6f88::/48 dev lo  metric 2147483647
fe80::6238:e018:25c1:e088 dev pppoe-wan  metric 256
fe80::ce1a:faff:feed:8f40 dev pppoe-wan  metric 256
fe80::/64 dev eth0  metric 256
fe80::/64 dev br-wifi  metric 256
fe80::/64 dev br-lan  metric 256
fe80::/64 dev br-lan.1  metric 256
fe80::/64 dev br-lan.4  metric 256
fe80::/64 dev wan  metric 256
fe80::/64 dev phy0-ap0  metric 256
fe80::/64 dev phy1-ap0  metric 256
anycast 2408:8234:3f03:3d7:: dev pppoe-wan  metric 0
anycast fe80:: dev eth0  metric 0
anycast fe80:: dev br-wifi  metric 0
anycast fe80:: dev br-lan.4  metric 0
anycast fe80:: dev br-lan.1  metric 0
anycast fe80:: dev br-lan  metric 0
anycast fe80:: dev wan  metric 0
anycast fe80:: dev phy0-ap0  metric 0
anycast fe80:: dev phy1-ap0  metric 0
multicast ff00::/8 dev eth0  metric 256
multicast ff00::/8 dev br-wifi  metric 256
multicast ff00::/8 dev br-lan  metric 256
multicast ff00::/8 dev br-lan.1  metric 256
multicast ff00::/8 dev br-lan.4  metric 256
multicast ff00::/8 dev wan  metric 256
multicast ff00::/8 dev pppoe-wan  metric 256
multicast ff00::/8 dev phy0-ap0  metric 256
multicast ff00::/8 dev phy1-ap0  metric 256

After I ping WRT32X:

root@Linksys04943:~# ip n
192.168.123.1 dev br-lan.4 lladdr 06:a1:51:b7:67:7b ref 1 used 0/0/0 probes 1 REACHABLE
192.168.122.141 dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 ref 1 used 0/0/0 probes 1 REACHABLE
192.168.124.142 dev br-wifi lladdr 56:7a:ea:05:6b:06 ref 1 used 0/0/0 probes 1 REACHABLE
fe80::4a1:51ff:feb7:677b dev br-lan.4 lladdr 06:a1:51:b7:67:7b router used 0/0/0 probes 0 STALE
2408:8234:3f03:3d7[redacted] dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 ref 1 used 0/0/0 probes 1 REACHABLE
fe80::845c:69de:362e:800b dev br-lan.1 lladdr 04:7c:16:1a:ea:d1 used 0/0/0 probes 1 STALE
root@Linksys04943:~# ip -6 r
default from 2408:8234:3f03:3d7::/64 via fe80::ce1a:faff:feed:8f40 dev pppoe-wan  metric 512
default from 2408:8234:3f13:683::/64 via fe80::ce1a:faff:feed:8f40 dev pppoe-wan  metric 512
2408:8234:3f03:3d7[redacted] dev br-lan.1  metric 1024
unreachable 2408:8234:3f03:3d7::/64 dev lo  metric 2147483647
unreachable 2408:8234:3f13:683::/64 dev lo  metric 2147483647
unreachable fd92:f364:6f88::/48 dev lo  metric 2147483647
fe80::6238:e018:25c1:e088 dev pppoe-wan  metric 256
fe80::ce1a:faff:feed:8f40 dev pppoe-wan  metric 256
fe80::/64 dev eth0  metric 256
fe80::/64 dev br-wifi  metric 256
fe80::/64 dev br-lan  metric 256
fe80::/64 dev br-lan.1  metric 256
fe80::/64 dev br-lan.4  metric 256
fe80::/64 dev wan  metric 256
fe80::/64 dev phy0-ap0  metric 256
fe80::/64 dev phy1-ap0  metric 256
anycast 2408:8234:3f03:3d7:: dev pppoe-wan  metric 0
anycast fe80:: dev eth0  metric 0
anycast fe80:: dev br-wifi  metric 0
anycast fe80:: dev br-lan.4  metric 0
anycast fe80:: dev br-lan.1  metric 0
anycast fe80:: dev br-lan  metric 0
anycast fe80:: dev wan  metric 0
anycast fe80:: dev phy0-ap0  metric 0
anycast fe80:: dev phy1-ap0  metric 0
multicast ff00::/8 dev eth0  metric 256
multicast ff00::/8 dev br-wifi  metric 256
multicast ff00::/8 dev br-lan  metric 256
multicast ff00::/8 dev br-lan.1  metric 256
multicast ff00::/8 dev br-lan.4  metric 256
multicast ff00::/8 dev wan  metric 256
multicast ff00::/8 dev pppoe-wan  metric 256
multicast ff00::/8 dev phy0-ap0  metric 256
multicast ff00::/8 dev phy1-ap0  metric 256

/etc/config/dhcp:

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option localservice '1'
        option ednspacket_max '1232'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option ra 'relay'
        option dhcpv6 'relay'
        option ndp 'relay'
        option ndproxy_slave '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'
        option master '1'
        option ra 'relay'
        option dhcpv6 'relay'
        option ndp 'relay'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

config dhcp 'wifi'
        option interface 'wifi'
        option start '100'
        option limit '150'
        option leasetime '12h'
        list ra_flags 'none'