Quick solution is to configure a static lease for the OpenWrt, so that it takes the same reserved IP from DHCP server.
To answer the other questions you need to show us the configuration file: uci export network
Most likely the wg0 is coming up after the wan when set to static and replaces the default route. It could be solved as easily as changing interface metrics.
These are your mistakes.
The peer user is supposed to provide internet to the OpenWrt router or just to connect as RoadWarrior?
And fix the post above to include the console output in preformatted text, the </> button.
I did what you suggested me to do, and routing table was good: (I removed metric from interfaces)
root@OpenWrt:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.0.10.1 0.0.0.0 UG 0 0 0 eth1
10.0.10.0 * 255.255.255.0 U 0 0 0 eth1
172.16.0.0 * 255.255.255.0 U 0 0 0 wg0
192.168.1.0 * 255.255.255.0 U 0 0 0 br-lan
I did not understand these two settings:
allowed_ips="0.0.0.0/0" : IP addresses and prefixes that this peer is allowed to use inside the tunnel, also used for Wireguard's internal routing table. (I meant this is like some kind of ACL, so which destinations RA VPN client can access to)
route_allowed_ips="1" : Automatically create a route for each Allowed IPs for this peer. (And I meant this is the route toward this allowed IP addresses)
Certainly, I was wrong, and thanks for clarifying this.
You can interpret it as an ACL, however is the source and not the destination.
This has sense if the peer has some more networks behind it, for example a 192.168.100.0/24. Then you'd have to define it in the list of allowed IPs and also route it in order to install a static route for it via the WG tunnel.