Indeed, it does not pull snaps down from hard-coded IP addresses name resolution is a core Networking feature snapd depends upon.
Here’s a list of host names snapd uses and expects to be able to resolve. You might be able to hack things into working by providing resolution for these in /etc/hosts or some such but I think a functionally busted DNS will preclude snapd from working properly.