"the reason Microsoft didn't suggest using external public domain" <-- This is 100% wrong. MS has recommended using a public domain name since Active Directory was introduced in Windows 2000. At the time, some people upgrading from NT (or worse) had domain names that were incompatible with DNS, and were therefor recommended to use Split Horizon DNS has an ugly hack.

All Active Directory deployments should use a subdomain of a domain owned by the company. The TLD should be valid as well, no ".local" or that ilk.

As for what Split Horizon DNS is, the Wikipedia article covers that well.

Also, lots more details in Mark's Blog.