use_vmac
directive in keepalived when using multicast and your carrier allows multiple MAC addresses per interface. If that’s not an option, migrate away from netplan/systemd-networkd, e.g. to ifupdown.
Make keepalived play nicely with netplan/ systemd-network
TL;DR: Use