Descrepancies in search result counts
When you search for Group(s) Not In 2021_keep, Search Builder may be interpreting it as &quot;contacts who are in some group that's not 2021_keep&quot;. That's not what you want.
Here are two three options for finding all the contacts who are not in the group &quot;2021_keep&quot;.
Include/Exclude Search
Go to Search &gt; Custom Searches and click on Include/Exclude Search. Set &quot;2021_keep&quot; as the value for &quot;Exclude Group(s)&quot;. Click on either one of the radio buttons next to &quot;AND/OR&quot; (it doesn't matter which you choose, since you're not using tags in your search.)
You should be able to delete contacts directly from the search results, or perform various other actions on them.
API v4
If for some reason the Include/Exclude search doesn't satisfy, and you are on a recent version of Civi, you can do your search using API4. You should have access to the API explorer at the url civicrm/api4.
Configure your search as follows:

Entity: Contact
Action: get
Select: id
Join: GroupContact
On: group_contact.contact_id = id
On: group_contact.group_id = 
On: group_contact.status = &quot;Added&quot; (note the quotes)
Where: group_contact.id IS NULL
You can pre-fill these values by deleting everything in your URL bar to the right of the word &quot;explorer&quot;, and replacing it with:
/Contact/get?join=[[&quot;GroupContact AS group_contact&quot;,false,null,[&quot;group_contact.contact_id&quot;,&quot;%3D&quot;,&quot;id&quot;],[&quot;group_contact.group_id&quot;,&quot;%3D&quot;,&quot;1&quot;],[&quot;group_contact.status&quot;,&quot;%3D&quot;,&quot;\&quot;Added\&quot;&quot;]]]&amp;where=[[&quot;group_contact.id&quot;,&quot;IS NULL&quot;]]&amp;select=[&quot;id&quot;]&amp;debug=0&amp;checkPermissions=0
Remember to change the Group ID to the id of your &quot;2021_keep&quot; group. When you're finished you can use the &quot;Save&quot; button at the top to save the results as a Smart Group.
Group subtraction (remove from group)

Use the basic &quot;Find Contacts&quot; search with empty search criteria to find all your contacts.
Above the result table, click &quot;All 74144 records&quot;, then select the &quot;Group - add contacts&quot; action. On the following screen, create a new group called &quot;NOT in 2021_keep&quot; and click &quot;Add to Group&quot;.
Do another &quot;Find Contacts&quot; search. This time, set the groups field to &quot;2021_keep&quot;.
Above the result table, click &quot;All 6046 records&quot;, then select the &quot;Group - remove contacts&quot; action. On the following screen, select the &quot;NOT in 2021_keep&quot; group you just created. Click &quot;Remove From Group&quot;.

Now your &quot;NOT in 2021_keep&quot; group should have 74144 - 6046 = 68098 contacts in it.