I hit an edge case where I ran only with external IPs with the Hetzner CCM as well.
Somehow, the NodeHosts config in the integrated CoreDNS was not properly set by K3s because it wanted only internal IPs.
None of my nodes had internal IPs, so CoreDNS hung until I manually created the config entry