Потратив ещё 4 часа я получил что хотел. Единственное, что не нравится, это инъекция в поля, но по другому никак.
Ещё сомневаюсь в решении сообщать вьюмодели о состоянии вью, тут идеально бы подошла Rx с PublishSubject, но я хочу от неё уйти, а лайвдата и flow так не умеют.
Спасибо всем огромное за советы!
Если есть желание потыкать результат, он тут
https://github.com/FirstSpectr/ViewModelInheritance