Consegui que o wpa_supplicant funcionasse a partir da linha de comando sem que ele fosse executado como um serviço usando o exemplo de página man.
wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
executá-lo como um serviço e fazê-lo funcionar exigiu que eu modificasse o arquivo de unidade do wpa_supplicant.service
sudo systemctl edit --full wpa_supplicant.service
alterando a linha execstart para:
ExecStart=/sbin/wpa_supplicant -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -u -s -O /run/wpa_supplicant
Ainda não sei exatamente como fazer com que todas as interfaces usem esse arquivo .conf, mas isso me fez funcionar como um serviço.