Смотря что вы подразумеваете под инициализацией. Все варианты что предложили выше от этого зависят. Если запускаете единоразовую инициализацию самой вьюмодели, то лучше onCreate (если вьюмодель переживает фрагмент, то обязательно проверять что это не пересоздание).
Если под инициализацией имеете ввиду подключение вьюхи (байндинг), то onCreateView. Если просто создание - то может быть и lazy, а если вьюмодель из архитектурных компонентов, то лучше специальное для таких дел delegated property из того же набора (by viewModels(),
кажется)