What is the difference between "Proxied" and "DNS Only"?

I’m not sure what you mean with “External subdomains” do you mean external content that gets loaded on a page load?

As explained here CF will only cache content from your own pages, so external content won’t be cached at anypoint.

No there is indeed no toggle for caching or not, you can achieve this with page rules. Here a good link to explain the default CF cache levels