For months I successfully used WireGuard in client mode with ‘connmanctl’ because I had an internet subscription with static IP on the server, which is not normal in my country.
My problems started when I changed my internet subscription with dynamic IP on the server. You can fiddle around and run scripts to watch for changes in the server’s IP address and act accordingly but I think this is a huge fudge, plus it’s hard to modify routing priorities with ‘connmanctl’. In the end I searched for a new method for my CoreELEC clients.
Later I tried the linuxserver/wireguard docker container in client mode and it didn’t work either because of DNS and AllowedIPs configuration errors.
Lastly, another CoreELEC user wrote about setting up WireGuard with ‘entware’ services. I studied this issue a bit more in depth and searched for a solution to the crashes due to AllowedIPs=0.0.0.0/0 redirecting all traffic to the wg0 interface, this turned out to be the solution to all my problems and that’s when I wrote this mini tutorial https://discourse.coreelec.org/t/wireguard-client-service-up-in-four-steps-with-entware, since then I haven’t had any problems.