Eu respondi a primeira parte da pergunta. Em vez de executar o script na fase started do serviço, quero executá-lo na fase prestart . Para isso, eu precisava adicionar prestart na frente da tag de script.
Essencialmente, o resultado é que o serviço não é considerado started até que os comandos prestart sejam concluídos e o serviço lightdm não seja iniciado até que meu serviço seja started .
start on starting lightdm
stop on [!12345]
prestart script
#launch the bash script that does install
/bin/bash /path/to/provisioning-script.sh
end script