I can’t comment on any actual changes to PureOS that may be relevant but there is nothing useless about using the loopback interface (in your example via IPv6) for DNS resolution. In fact that would be the normal situation on many of my computers.
Unfortunately DNS resolution has become rather complicated, compared with the good old days when /etc/resolv.conf was “it”.
If you mean that you edited /etc/resolv.conf then that can be badness if that file is generated automatically i.e. your change can get wiped out, and your fix would only be temporary (but at least temporarily useful e.g. for downloading further updates if something has been broken here).
Clearly, there is some sort of DNS-like service that’s locally taking over DNS requests. Otherwise, changing resolv.conf to point to another DNS server wouldn’t have worked.
Yep, would normally be a stub resolver - but the actual DNS servers (to which the stub resolver will relay) will be determined dynamically based on what interfaces are up and statically based on additional configuration.
If you want to troubleshoot this then your first step would be to find out what process, if any, is listening for UDP packets on port 53 on ::1 (or if not on that IPv6 address, on any other local IP address).