I'm using systemctl to restart my services. Will it run as root? Or do I need to set up permissions somehow so that Certbot can run systemctl restart? I haven't had my certificate renewed yet and if I try to do --dry-run it tells me port 80 is taken so I don't know exactly what's going to happen when Certbot tries to run the renewal hook.
Perhaps there's too little time between the stop command and the attempt to start the standalone authenticator? You might want to add a delay perhaps? Or at least try that.