а внутри него уже блок init с вызовом корутины запроса данных. Может кто подсказать как правильно вызывать создание viewmodel. я ожидал что ViewModelProvider вернет тот обьект который уже был создан и который хранит всю информацию внутри себя. В чем я неправ?
ViewModel правильно создаётся. Проверить один и тот же экземпляр viewModel возвращает ViewModelProvider можно сравнив hashCode у viewModel после после поворота экрана.
Скорее всего делается повторный запрос в сеть по другой причине.