Разобрался в чем была причина: я данную обработку вешал на событие OnBeforeIBlockElementUpdate (для тестирования), при этом изменяя напрямую секции, а $arFields не изменял. Получается что группы, которые я заменял просто перезаписывались $arFields"ом