Se você não especificar o tipo do seu serviço systemd, o padrão será Type=simple . Isso significa que o serviço é considerado iniciado no momento em que seu comando ExecStart é iniciado . Você provavelmente deseja usar Type=oneshot , que aguarda o comando ExecStart sair antes de considerar o serviço iniciado. Veja man systemd.service para mais detalhes.