Hi Joshua,
A few Items to consider.
- PDCe FSMO roll holder is the one server that looks after ensuring protected objects have the AdminSDHolder permissions set, I assume your PDCe is working correctly.
- The AdminCount attribute value is an indicator that the object WAS a protected object at some point in the past. i.e. if a user is added to domain admins then they become a protected user (AdminCount =1). But, If you remove the user from all 'admin' or 'protected' groups then AD does NOT remove the AdminCount = 1 value. You have to do that manually if it is important to you.
So, The background process on the PDCe, evaluates all members of protected groups and applies the AdminSDHolder's permissions to all members which do not currently match that security descriptor. It does not appear to use the AdminCount value as a guide anymore, it just changes it to 1 if it is set to 0 on an object that it has changed. It doesn't change it back to 0 when an object is not longer in scope (i.e. removed from the group).
Here are some references.
https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/appendix-c--protected-accounts-and-groups-in-active-directory
https://secureidentity.se/adminsdholder-pitfalls-and-misunderstandings/
This one is new to me - looks like you can exclude some groups - Definately fits in the category of check everything and test it thrice ;-)
https://petri.com/active-directory-security-understanding-adminsdholder-object/
HTH
Regards