Разницы какой паттерн используешь нет, MVP или MVVM. Правила работы с дата слоем (если рассуждать в рамках чистой архитектуры) те же самые. Лучше в репозитории оставить ответственность за управлением - из какого источника получить данные: из апи,.памяти, бд. А в VM ответственность как эти данные отобразить (передать) во всю. При таком раскладе меньше шанса будет получить спаггети код.