A declaração Before= refere-se ao início do serviço. De man systemd.unit .
If a unit foo.service contains a setting Before=bar.service and both units are being started, bar.service's start-up is delayed until foo.service has finished starting up.
...
Note that when two units with an ordering dependency between them are shut down, the inverse of the start-up order is applied. i.e. if a unit is configured with After= on another unit, the former is stopped before the latter if both are shut down.
Portanto, você deseja configurar seu serviço com After=libvirt-guests.service , pois o serviço é iniciado depois que libvirt-guests.service é iniciado e seu serviço é interrompido antes que libvirt-guests.service seja interrompido.