The failure happens when an intermediate DNS server returns NS records but no accompanying A/AAAA records. This happens when a domain's DNS is delegated to a third-party, such as Cloudflare. You can see this when querying for blinklabs.io.
We need to be able to perform a full separate lookup as part of a query to be able to populate the A/AAAA records for NS records that we get from other servers. Much of the logic exists only in handleQuery(), which is not easily reusable.