How to remove fields that doesn't exist after removing them from API?

This is a bug and a feature as well, so it never got fixed. If contents would be removed automatically, Cockpit must know, if it really should delete them or if the fields are just hidden from the admin ui.

Have a look here for a solution with a cli command:

And some thoughts, why automatic removing is complicated: