When you register a domain, typically the registrar will set it up on their default DNS servers and point it to their default web server to serve their default parked page.
Obviously the web server (or hosting company) serving out the pages will always know traffic, so in the Registrar-DNS-Host chain, I'm really asking about the first 2: registrar and DNS provider.
If you edit the zone file with the registrar to point to your own web server, the website is no longer hosted with the registrar, but the registrar still hosts the DNS. Would hosting DNS still enable them to count traffic?
If you change nameservers and point it to a specialist provider like DNS Made Easy, then the registrar has nothing left (except basic registrar functionality, like WHOIS, etc.) So I'm guessing at this point, they have no way of estimating traffic at all. Is this correct?
I'm basically trying to verify my guess that only the Host or DNS provider can count traffic, but the registrar itself has no way of doing that.
Does a registrar still see DNS traffic if you host a domain on your own nameservers?
Maybe. In order to locate your nameservers, recursive DNS servers have to trace authority from your domain starting from the root nameservers. If the registrar also owns the top-level nameservers involved, DNS traffic is still traversing their nameservers.
Can the registrar measure traffic for your domain?
Not effectively.
All that the registrars and authoritative nameservers see are DNS lookups made by caching servers on behalf of clients. The caching DNS servers mask the number of clients requesting data from your domain, as they are not going to ask for data on behalf of a customer unless it has fallen out of cache (TTL expiry).
At best, they can measure popularity of your website (very coarsely) by how frequently your records are falling out of cache, but there's no way they can measure something like "clicks per second".