Running OpenWrt 23.05.5 on devices like the EA7500 or EA8500, my router doesn't seem to respond to DHCPv6 or SLAAC requests after a reboot until I apply any change to the br-lan interface in Luci. After testing, I found that issuing the command "service odhcpd restart" restores service instantly.
The solution I came up with was to disable odhcpd, edit /etc/init.d/odhcpd to set the value of START from 35 to 99, and then re-enabling odhcpd. For some reason it must be very late start or it doesn't seem to work. Making a hotplug script to restart odhcpd when br-lan comes up can also work, but is unreliable without adding a sleep command before executing the restart.
My setup is a little weird. I disable "IPv6 assignment length" and provide my router the static address 2001:db8::2/64 and gateway 2001:db8::1. The gateway is present on br-lan and does not provide any services, it only routes traffic to the internet using NAT/NAT6. This issue only seems reproducible on ipq806x devices, other qcomm devices I have access to like ipq40xx are unaffected.
Not sure what causes this, but maybe someone else will find this useful.