After=La dependencia solo es efectiva cuando el servicio incluido After=y el servicio incluido por After=están programados para iniciarse como parte de su arranque.
Ex:
a.service
[Unit]
After=b.service
De esta manera, si ambos a.servicey b.serviceestán habilitados , systemd ordenará b.servicedespués a.service.
Si no lo entiendo mal, lo que está preguntando es cómo comenzar b.servicecuando a.servicecomienza aunque b.serviceno esté habilitado.
La directiva para esto es Wants=o Requires=menos [Unit].
website.service
[Unit]
Wants=mongodb.service
After=mongodb.service
La diferencia entre Wants=y Requires=es que con Requires=, si no se inicia b.service, el inicio de a.servicede fallará, mientras que con Wants=, a.servicese iniciará incluso si b.servicefalla. Esto se explica en detalle en la página de manual de.unit .