Does your router indicate that you have DS-Light? I think O2 provides each customer DS-Light until they ask for a real IPv4.
To your second question: In case of DS-Light you don't need a new IPv4 IP every 24h because your IP is not public facing.
PS: I don't be sure, but the Fritz Remote Apps use IPv6 to ensure that they also work with DS-Light.
Do you have a link where it is documented in systemd-networkd content?
Have you tried to reduce your config to a minimum (like in the wiki) and add additional parts step by step? F.e. the link and route parts? So you can maybe identify the block/line which breaks your config.
Edit: I have never seen ActivationPolicy before. Is it NixOS specific? An additional idea how are your files named? systemd-networkd uses the name of the file as indicator for the initialization order (alphanumeric order is applied here). Which means that wireguard.network will be used xx.network. I mean the lower w is near the end of the ascii table, but the devil is in the details and maybe your ethernet or wifi connection will be established after wireguard and therefore wireguard will not be able to connect. F.e. wlan.network for example will come up after wireguard.network. (As I remember that would not be the case using wg-quick, because its unit file depends network-online.target.)
Yes I use wireguard only with systemd-networkd (as server and as client).
I followed the arch wiki and you need to ensure that the file permissions are correct, otherwise systemd will ignore them.
Copied from the wiki:
# chown root:systemd-network /etc/systemd/network/99-*.netdev # chmod 0640 /etc/systemd/network/99-*.netdev
I used their products 3-4 years and switched then to hetzner, because the technical support by ionos is very limited and often the first answer is: "You have a VPS so it is your problem.". Yes this answer is correct, but not if it is not reachable after an update of the host by ionos.
Hetzner instead has very nice guys and they have a very good knowledge about what they are doing.