I didn’t think that Caddy would restart itself. I’d have thought that its behaviour should have been to fail out and exit with an error if it can’t manage your certificate at startup.
I don’t know if there’s much further you can do in the way of troubleshooting, though. The code for the DNS providers comes from GitHub - go-acme/lego: Let's Encrypt client and ACME library written in Go, so your next port of call should be their issue tracker.