Eu escrevi algo assim há muitos anos, chamado (sem imaginação) autoddns .
Ele não chama um serviço systemd (não acho que o systemd existia na época!), mas ele chama um processo externo para realizar a atualização do DNS ( nsupdate ). No entanto, ele monitora adições e exclusões de endereços IP diretamente no nível do netlink, o que significa que eles serão recuperados independentemente de como eles aconteçam (configuração administrativa manual, SLAAC, DHCP, Network Manager). Reage instantaneamente quando ocorrem mudanças. Ele suporta filtros (projetados para excluir automaticamente itens como endereços locais de link), portanto, você pode fazer com que respeite as alterações de endereço IPv6 e ignore os IPv4, como você deseja fazer.
Talvez você possa usá-lo ou modificá-lo para atender às suas necessidades. A maior parte da mágica para detectar e reagir às mudanças de endereços IP está em watchip.c , eu acho .