Для меня это был бы выбор между вариантом 1 и 2 (я хотел бы сохранить «верхний уровень обслуживания» как можно более простым).
Какой из них я бы выбрал, будет немного зависеть от того, как используются отдельные типы агрегатов; если бы они всегда (по крайней мере, в настоящее время) использовались как часть этого единого агрегата, а не как отдельные, я бы, вероятно, разрешил агрегированному репозиторию работать с ними (но, возможно, все еще в отдельных методах), но если отдельные части также могут использоваться автономно (или как части других агрегатов), я бы, вероятно, склонялся к тому, чтобы иметь для них отдельные объекты репозитория, и вызывал бы эти репозитории из репозитория агрегатов.