С одной стороны да, логично скрыть за одним репо/гейтвеем и разруливать. Но с другой думаю могут ли быть какие-то кейсы резолвинга, которые будут определяться бизнес требованиями.
можешь добавить некий флажок WithNoCache либо при инициализации репозитория, либо в отдельных методах
архитектурно правильно будет, наверное, принимать интерфейс кэша при инициализации репозитория, и при доступе обращаться к нему, а уже в нем ты можешь закидывать пустой мок тогда, когда кэш не нужен