After some fiddling around it seems that it’s a change in systemd-networkd
. The older versions are adding the routes that we would expect.
Thanks for helping out!
For people looking for a solution:
We decide to use LinkLocal during the device discovery. After that based on some logic we switch to static IP address in the private network range. With this logic, we also define a gateway in the system that can be used by the other devices.
This way we comply with the RFC and can use new versions of systemd-networkd
.