Replying so i can mark as solution:
TL;DR: Traefik 2.x does not indicate when the acme.json
file could be opened but contains invalid data. In this case, the certificate resolver silently fails resulting in the cryptic "router uses non-existant resolver..." messages. Do not attempt to manage the JSON file outside of traefik; even a simple touch acme.json
will break things w/o much of a clue in the logs.