1) от view 2) от model, ведь model может меняться и без запроса с вью
Дисклеймер: всё, что я говорю, так или иначе под соусом именно MVICore, потому что это единственная либа, которую я пробовал для MVI.
Однонаправленность потока данных и вообще прелесть MVI в том, что у функционального модуля есть один вход и один выход, и что эти входы/выходы можно как угодно друг с другом состыковать, и модули останутся максимально изолированными и тестируемыми, такие себе black box-ы.
Общая передача данных обычно делается в главном потоке, чтобы дружить с UI, но внутри работа может происходить на каком угодно потоке, потому что ReactiveX позволяет как угодно всё переключать.