Советую Вам почитать про дженерики в джаве, чтобы прояснить для себя причины этой ошибки. Если кратко, то в байт-коде все дженерики стираются. Для того, чтобы иметь доступ к T::
class.java, нужно использовать reified, но из-за особенностей реализации, это доступно только в inline-функциях.
В вашем случае просто рекомендовал бы отказаться от идеи автоматического получения ViewModel через обобщения, а просто сделать
abstract val viewModel: T
И в дочерних фрагментах переопределять геттер