Насколько я понял, больше всего вас смущает кейс, когда пользователь изменил модерируемое поле, модератор ещё не успел подтвердить, и потом пользователь сменил немодерируемое поле и ждёт появления этого изменения сразу. В таком случае не вижу другого варианта, как 3, то есть раздельное хранение модерируемых и немодерируемых полей. Изменение логики при этом минимально.
О какой атомарности ревизии идёт речь, какой кейс рассматриваете? Когда пользователь в первый заход поменял и модерируемое и немодерируемое поля, а во второй — только немодерируемое? Вот как раз при совместном хранении (варианты 1 и 2) и будет возникать неоднозначность, то есть в случае если модератор подтверждает изменение 1, то данные какой записи считать актуальными? Тут два варианта — вносить во запись при втором изменении в модерируемые поля либо изначальные данные, либо данные из первого изменения. Первый вариант ломается, если модератор подтверждает запись, а второй — если не подтверждает. Надеюсь, путно объяснил.