[solved] Stale DHCPv6 leases under Network -> DHCP and DNS

one way: use /etc/ethers ( and related dnsmasq option )

#readethers	boolean	0	-Z	Read static lease entries from  /etc/ethers, re-read on SIGHUP

another way: adapt something like this to populate dnsmasq A records;
( excerpt from ipv4 script )

#!/bin/sh

while read timeS maC iP namE maC2; do
	echo "$iP $namE"
	#ADDandorREMOVE A RECORD or SETUP STATIX-RESERVO
	sleep 1
done < dhcp6.leases #(/var/hosts/odhcpd)

service reload
exit
#schedule every 5-10mins in cron or trigger in /etc/dnsmasq.conf on lease

another way - most "official"

##########################################
#in /etc/dnsmasq.conf
#dhcp-script=/bin/updateDUID.sh
##########################################
#/bin/updateDUID.sh https://ashus.ashus.net/thread-175.html
#!/bin/sh
for I in $(uci show dhcp|awk -F '(\\[|\\]|\\.|=)' '{if ($2=="@host" && $5=="name") print $6}'); do
    NAME=$(echo -ne $I | sed -r "s/'//g")
    DUID=$(cat /var/hosts/odhcpd |awk -F ' '  "{if (\$1 == \"#\" && \$5 == \"$NAME\") print \$3 }"|head -n 1)
    ID=$(uci show dhcp|awk -F '(\\[|\\]|\\.|=)' "{if (\$2==\"@host\" && \$6==\"$I\") print \$3}")
        if [ "$DUID" != "0000000000000000000000000000" ]; then
                echo Found: $NAME = $DUID
                uci set dhcp.@host[$ID].duid=$DUID # Set DUID
        fi
done
echo Commiting changes; uci commit; killall -HUP odhcpd