Configuration driven Active Directory management.
As part of the forest update sequence, by default it will also update the site-assignments of all domain controllers in the forest. However, there is no configuration to define it!
Instead, site-assignment is automatically calculated based on subnets and IP addresses.
Specifically …
That means, a domain controller assigned to a site with a fitting subnet will not be moved, even if there is a smaller subnet it would also fit into.
When applying Forest level configuration in the proper order, sites are created (and subnets defined) before assigning domain controllers to their site.
That way, when setting up a new forest, we first create the necessary infrastructure before trying to fit the DCs into the correct slot. The one problem this causes is when trying to delete an undesired site that still has a domain controller assigned. If this happens, a warning will be generated. A second run of the forest configuration will then cause the deletion to succeed (as now the domain controller was correctly moved).
This is a common issue for initial deployments, as the default site cannot be deleted yet.