В MVP презентер держит ссылку на интерфейс View, конкретный интерфейс для конкретного презентера. Они оба связаны друг с другом. Например, интерфейс вью не может быть в отдельном от презентера gradle модуле.
Потому-что вы рассматриваете все подходы в контексте жц Андроид. MVP, MVVM и MVI паттерны не для одного лишь Андроида. Это общие принципы, а конкретные реализации это уже другой вопрос.
Отдельно создаётся реализация VM, в неё передаются все зависимости. Например в onCreate фрагмента. В onViewCreated можно создать View и передать в неё VM.