Any CDN worth its salt can run on your domain so that's not an issue. The issue is that no third-party anything is pointless as links will just change from nyt.adnetwork.com to adnetwork.nyt.com. I'd rather not encourage those kinds of DNS shenanigans.
You'd tell cloudflare DNS "yo put your stuff on cloudflare-cdn.mydomain.foo". Embeds should be iframes, that is, different webpages, imgur could do the same though yes it's overkill. Another option would imgur offering an automated API that would allow cloudflare DNS to tell it "here's a key, please get ready to serve on imgur-cdn.mydomain.foo".
It can all be handled on your domain without you actually running the backing servers. It's also insanity.
It doesn't, but it defeats the purpose of CDN, because your users still hit your domain instead of CDN one and cannot leverage the benefits of distributed caching. Browser cache is bound to a URL, you change one letter and it is invalidated.
It won't share js libraries and fonts and whatnot cross-site but compared to a single image that should be negligible. At least if you don't pull in gazillions of superfluous dependencies and don't even run dead code elimination over them. And anyway that's more bandwith usage between user and CDN, not user and you.
Also I already said that it's insanity. But it would work.
And how often do I have to repeat that it's insanity? It's just that user network traffic doesn't even come close to the top of reasons why it's a bad idea.
I wasn't the one advocating to outlaw cross-site everything. I only said that it could be made to work... not well, but still. Also that it's a bad idea. Do you disagree with that?
CDNs like CloudFlare reduce load on smaller servers through caching and delivery of common assets, which reduces load times (helping to democratize sites as it's not just big companies that can afford quick websites). CDNs also prevent DDoS attacks and can improve uptime.
They're pretty critical pieces of internet architecture. Not that they're perfect, but banning all third party content from sites is kind of a baby/bathwater situation.
CDNs also reduce load on the network. Why pull a resource from a server on the opposite side of the world when a CDN on my 'door step' can provide a cached version of it.
The purpose of a CDN is to better cache common resources between different web sites. For example, if you're using a Roboto font from Google CDN on your web site, just like many other web sites do, the user who previously visited other sites with such font will load your web site much faster and will spend less traffic, because he already has this font from CDN in their cache. It also means that you save money on hosting.
If you remove CDN from the equation, you punish yourself and your users. That's a very dumb idea. Especially when CDNs are free to use.
But that is a lot harder to do and requires more resources.
If you have a tracking pixel now, the company directly knows your browser from you downloading that pixel. If they were to implement the single-backend stuff, the site would have to gather all that information themselves and then send it to all the trackers.
But they can't just send it somewhere, because then everyone could send bogus info to them so you need verification and an api and that is costly and each company would build their own api so you need to buy a program that speaks all those apis... You get the point. It's a LOT more work than just pasting the text for some pixel somewhere on your site and let the others do the rest.