This MSFT doco outlines the basic setup in the subdomain scenario that you describe: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc772970(v=ws.10)
You don't need to "tell" your DCs as such that they are subordinate to the upstream zone. Simply install the AD and DNS role, specify the domain FQDN, and it'll configure the subzone as authoritative on the DCs during setup.
Setup will give you an warning if you have the DNS client configured on the DC's network adapter with an external DNS host address, because it will try and register its new DNS name. But ignore that, upstream DNS doesn't need to know about it.
For resources hosted internally that need to be accessed from the Internet, you'd allocate a public IP and a public DNS name to your internal resource - like a website or VPN - and get to it that way rather than exposing/delegating the private namespace at all - that's definitely to be avoided if at all possible. This is the scenario described in the MSFT doco. Re point 4, you won't need to worry about disabling dynamic registrations on your DNS provider, since I doubt it's enabled anyway.
The main decision would be how you do external name resolution for your domain members. The members should use the DCs as their DNS hosts, of course. The DCs will need to resolve names on the internet. Ideally, the DCs would forward queries to a specific DNS provider - this makes life easier when it comes to firewalling. Point 5 in the article I linked discusses the options.
I think in your scenario, you'd use your ISP's DNS - however you're doing it now. It's worth looking at DNS service providers like OpenDNS or Cloudflare that provide DNS security if your current provider doesn't - extra protection from phishing sites and so on is great, and these services can be free or quite inexpensive. Just make sure the one you select has local points of presence (at least national) if you go that route. The fallback is to let the DCs use root hints, but that means they need to do queries all over the Internet, and I'd certainly prefer OpenDNS etc over that option. You should define multiple forwarders, unless you know that the forwarder IP is actually a VIP with multiple hosts underneath.
The MSFT doco also has a number of other chapters that might be worth glancing over. However, stuff like an internal DNS root server is irrelevant unless you're going to expose your internal namespace and delegate to it from your upstream DNS registrar. Again, that's a scenario you want to avoid.
Also, once your first DC installed, in the network config, remember to check its own IP is the primary DNS host, plus 127.0.0.1. If the DNS forwarder is set up to relay queries to your external DNS, I don't think you need it defined in the network config as well (test to verify the DC can resolve external names, of course).
For subsequent DCs, prior to installing ADDS, configure the network so that the first DC is its primary DNS, then itself, then 127.0.0.1. Once Setup is done on the second DC and replication has completed, ensure the first DC can resolve it, and set its network config so the second DC is the first DNS host (retaining the other entries).