Я бы на хуке post_updated это делал, так как там есть все данные для определения, что сменился статус и все данные уже сохранены стандартным способом
всё равно не работает. перенёс все действия на хук post_updated. эффект такой же — действительно, похоже что затирается, но что ещё может срабатывать после post_updated?