я бы принял такое положение - effect handler находясь в domain слое реагирует на эффект, дергает usecase и возвращает результат. я пока не могу понять как он(effect handler) может функционировать на data слое
Ещё раз: всё зависит от того, какие у тебя эффекты. Если эффекты вроде "добавить юзера", то за хэндлером у тебя будет юзкейс, и все такие юзкейсы пойдут в общий репозиторий, как обычно. Если эффекты вроде "положить в базу вот эту модель", то слоя юзкейсов у тебя нет, а вместо них соответствующую логику держит сам редьюсер.