Mostly works with Hetzner, but route lost on reboot

Setting up on Hetzner worked, except the route is lost on reboot. I can only reach the server through Hetzners console. I get the following on startup:

systemd[1]: Starting Network Service...
systemd-networkd[236]: Enumeration completed
systemd-networkd[236]: eth0: IPv6 successfully enabled
systemd-networkd[236]: eth0: Link UP
systemd[1]: Started Network Service.
systemd-networkd[236]: eth0: Gained carrier
systemd-networkd[236]: eth0: Could not set route: Nexthop has invalid gateway. Network is unreachable
systemd-networkd[236]: eth0: Failed

I can manually add the routes after which I can reach the server normally again:

# ip route add 172.31.1.1 dev eth0 scope link 
# ip route add default via 172.31.1.1 dev eth0

How can I make the routes permanent? It looks to me like systemd-networkd is configured correctly:

$ cat /etc/systemd/network/default.network 
[Match]
Name=eth0

[Network]
Gateway=172.31.1.1
Address=116.203.@@@.@@@/32
Edited by Ixentus