migrate-groups-cleanup job does not delete any groups and just reports Prepared 0 groups for migration.
The delete_backup_groups func is using migration state which is empty if the groups were already migrated. This function only works if the func is run after the migration step. If the func is run as a separate job, the migration state has to be built again and since the groups at this point are migrated the migration state is empty.