Yes. That’s incorrect. The two delegations are in conflict with each other, and the
api.playsport.com zone is missing the
The issue is that, if
ns-26.awsdns-03.com &c, that means Cloudflare shouldn’t know anything about what’s in
api.playsport.com, whether it’s
dev.api.playsport.com or anything else.*
playsport.com zone is inconsistent. It says, "
api.playsport.com is over here" and also says "
dev.api.playsport.com is over there at
ns-168.awsdns-21.com &c" even though it ought not to know that.
api.playsport.com itself doesn’t contain a delegation for the
dev.api.playsport.com zone, even though it needs to. If you ask it about
dev.api.playsport.com, it says it doesn’t exist.
22.214.171.124 implements QNAME minimisation. (With limits, I think.) It’s guaranteed to send queries to Cloudflare that will result in it learning about the
api.playsport.com zone cut. With the missing delegation, it’s guaranteed to ‘learn’ that
dev.api.playsport.com doesn’t exist. Plus, it caches very well.
126.96.36.199 doesn’t implement QNAME minimisation, so it might send
dev.api.playsport.com queries to Cloudflare’s
playsport.com zone or to Route 53’s
api.playsport.com zone depending on what other queries it has recently received and what it already has cached.
You could probably poison (as it were) your local 188.8.131.52 caches by sending a dozen or so queries for
dev.api.playsport.com would start ‘failing’ in the same way it does with Cloudflare (except where older cached records keep it working).
* With some exceptions for glue, which isn’t involved here.
Edit again: Rewrite a bit. And fix