We have multiple domain controllers and are planning an upgrade. Do all domain controllers need to use the same Windows Server release, or can different versions run together? How do domain and forest functional levels affect compatibility and access to newer Active Directory features?
4 Answers
The functional level is the important part. It represents the minimum domain-controller capability that Active Directory must support. You can add newer servers while keeping the functional level lower, but you generally cannot raise it until every older domain controller has been removed or upgraded. For example, newer controllers can operate in a domain still using the 2016 functional level.
A common upgrade process is to introduce the new server, promote it to a domain controller, allow replication to complete, transfer any required roles, and then demote and remove the old controller. Once no controllers below the desired level remain, raise the domain and, where appropriate, forest functional levels to enable features available at that level. Member servers and workstations do not need to match the domain-controller version.
Keep the domain and forest functional levels at a version supported by the oldest domain controller in use. Also make sure the oldest operating systems are still supported and patched. The domain functional level applies to one domain, while the forest functional level applies across the entire forest, so both may matter in a multi-domain environment.
They do not have to run the same Windows Server version. Mixed-version domain controllers are supported during migrations, provided each one is compatible with the current domain and forest functional levels. Standardizing versions is still preferable because it simplifies patching and management.

So the functional level can remain lower than the newest operating system while the migration is in progress?