Eu não acho que você pode usar systemd-networkd para substituir o NetworkManager dessa maneira atualmente. está sendo proposto principalmente ao configurar Máquinas Virtuais, onde não há necessidade de configuração dinâmica.
Se você quiser que isso funcione, você terá que escrever um systemd.timer com OnBootSec= alguns segundos após a inicialização que inicia um serviço que verifica se o dhcp funcionou e, se não, edita a configuração da rede.
Por exemplo, se você tiver um /etc/systemd/network/20-dhcp.network e um /etc/systemd/network/30-static.network , o dhcp deve ter prioridade. Quando quiser substituir isso, adicione um link /run/systemd/network/09-override.network ao arquivo estático, faça daemon-reload e reinicie systemd-networkd para que ele tenha precedência.
Ao colocar o arquivo de substituição em /run , ele será perdido na reinicialização.