IPv6; confused

Router says:

root@Confusion:/etc/config# cat  /tmp/hosts/odhcpd  | grep -i mbp
2601:644:8a80:f90::171	RaulsMBP.lan	RaulsMBP
fd8f:f36d:2ec1:64::171	RaulsMBP.lan	RaulsMBP
# br-lan 0001000124d260f9a483e742f5bc 0 RaulsMBP -1 171 128 2601:644:8a80:f90::171/128 fd8f:f36d:2ec1:64::171/128

but systems says:

bash-3.2# ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	inet6 fe80::4a2:8d41:977d:522c%en0 prefixlen 64 secured scopeid 0xa 
	inet 192.168.10.171 netmask 0xffffff00 broadcast 192.168.10.255
	inet6 2601:644:8a80:f90:88:f6c0:9a00:c62c prefixlen 64 autoconf secured 
	inet6 2601:644:8a80:f90:d411:84d0:9719:8194 prefixlen 64 autoconf temporary 
	inet6 fd8f:f36d:2ec1:64:8b8:1ef7:7cd7:cd6d prefixlen 64 autoconf secured 
	inet6 fd8f:f36d:2ec1:64:557d:89e0:d854:b388 prefixlen 64 autoconf temporary 

Shouldn't those two match? (ps; there is an OpenWRT bridge in between)

How do you have configuration of IPv6 configured on "RaulsMBP"?

Have you set the Router Advertisements (RA) to indicate that it is a managed subnet, or it is sending the default "here's the prefix, pick one" RA?

It is not unusual for multiple link-local addresses or even multiple addresses from the advertised prefix delegation, especially for "sophisticated" OSes that change them regularly, even by the minute.

Have you tried using ip addr instead of ifconfig? It may show more IPv6 addresses. The system shows addresses assigned with SLAAC. (Both temporary and based on a stable secret.) But the router shows addresses assigned via DHCPv6. You need to list the neighbor cache if you want to see the SLAAC addresses that have been active recently. (ip -6 neigh show)

ip adds is not an option (MacOS).

ping6, on the other hand, does not work from the router to the Mac when trying the ip the router believes in.

Photo from the Mac:

Result of "uci show | grep lan | delete what I think is not relevant:

dhcp.@dnsmasq[0].local='/lan/'
dhcp.@dnsmasq[0].domain='lan'
dhcp.lan.ra='server'    
dhcp.lan.ra_slaac='1'   
dhcp.lan.ra_default='1'                          
dhcp.lan.ra_management='0'                       
network.lan.ipv6hint='10'                                          
network.lan.ip6assign='64'                                         
network.lan.ip6hint='64'   

You have configured DHCPv6-mode stateless which means no address assignments via DHCPv6. You need to change do '1' (stateless + stateful) or '2' (stateful only). BTW some systems such as Android doesn't support DHCPv6 address assignments and need stateless (SLAAC) support.

Looks like your Mac has picked two, public IPv6 addresses, which is not unusual. macOS "rotates" the addresses on a regular basis.

dhcp.lan.ra_slaac='1' 
dhcp.lan.ra_management='0' 

at least as I understand it is the "here's the address block, go ahead, pick one" mode. This is a typical mode for most use cases.

Doesn't /tmp/hosts/odhcp stores dhcp6 assignments?
It has at least 12 entries.

It would be empty if I set it to stateful.