ну конечно в какой-то момент времени VM-View общаются каким-то образом, у андроида это Observable/Observer давайте тогда копать глубже до байткода и делать далеко идущие выводы которые к архитектуре не имеют ни какого отношения
В MVP - презентер зависит от интерфейса view, который в него передали В MVVM вьюмодель никаким образом не зависит от view, в этом главное отличие, как мне кажется, зачем усложнять🤷♂
например для того, что при таком взгляде на MVP/MVVM можно сделать вывод, что MVI реализуется и на MVP точно так же как и на MVVM (хотя я раньше думал, что MVI привязан к реактивщине)
У VM просто интерфейс, где поля\методы испускают какой-нибудь observable(livedata, flow, rx observable) не сказал бы, что корректно говорить о том, что это как-то привязывает его к view