Что переживает ViewModel: поворот или смерть процесса?Конфигурационное пересоздание при сохранённом владельце — да; смерть процесса — нет. Для восстановления создаётся новая ViewModel с доступным saved state. ViewModel, Сохранение состояния.
Почему два экрана получили разные ViewModel одного класса?Они могли запросить их у разных ViewModelStoreOwner. Класс и DI-аннотация сами по себе не определяют общий срок жизни. ViewModel.
Что сохранять для страницы товара?ID товара и небольшой пользовательский ввод; сам товар повторно прочитать из репозитория. Это уменьшает saved state и риск восстановления устаревшей модели. Сохранение состояния.
Почему запись SavedStateHandle в фоне может не восстановиться?Sистема восстанавливает сделанный снимок, а не произвольную последнюю запись памяти. Изменения во время остановки попадут в новый снимок после следующего цикла start/stop. SavedStateHandle.
Почему onDestroy не подходит как единственное место записи черновика?При смерти процесса callback не гарантирован. Ценные изменения сохраняют по мере редактирования; момент и частота записи зависят от допустимой потери данных. Сохранение состояния.
Проверяет ли «Не сохранять действия» восстановление процесса?Нет: эта настройка уничтожает Activity, но не моделирует все последствия потери памяти процесса. Проверяйте именно системное уничтожение фонового процесса и возврат в задачу. Сохранение состояния.