I'm in the same boat - and I noticed the same behavior. As I didn't want to reboot the OpenWrt VM again, I just left it as-is and considered it a temporary problem.
Edit: Thanks to your post, I did a couple of restarts to debug this issue. With "loglevel" set to "7" for odhcp, I receive the following in my log after rebooting:
Wed Feb 19 14:22:13 2025 daemon.debug odhcpd[1964]: Enabling services with lo running
Wed Feb 19 14:22:13 2025 daemon.debug odhcpd[1964]: Enabling services with eth1 running
Wed Feb 19 14:22:13 2025 daemon.debug odhcpd[1964]: Enabling services with WireGuard running
Wed Feb 19 14:22:13 2025 daemon.debug odhcpd[1964]: Enabling services with eth1 running
As you can see, br-lan is missing. And indeed, odhcp is working fine over Wireguard. Upon restarting odhcp, the output looks like this:
Wed Feb 19 14:23:36 2025 daemon.debug odhcpd[1964]: Enabling services with WireGuard running
Wed Feb 19 14:23:36 2025 daemon.debug odhcpd[1964]: Enabling services with br-lan running
Wed Feb 19 14:23:36 2025 daemon.debug odhcpd[1964]: Enabling services with lo running
Wed Feb 19 14:23:36 2025 daemon.debug odhcpd[1964]: Enabling services with eth1 running
So for whatever reason (a race condition?) it doesn't detect br-lan during startup.
Btw, I could disable NDP proxying for my environment.
For the time being, the following work around "fixes" this issue for me:
Add to /etc/rc.local:
sleep 5
/etc/init.d/odhcpd restart
It doesn't work without the sleep. I will report this to the issue tracker.