Спасибо большое за детальные пояснения.
Я пришел к таким выводам:
Интерфейс TransactionManager на уровне Application - это норм.
Инфраструктурный слой знает о всех реализациях репозиториев, поэтому должен суметь и реализовать TransactionManager.
Если для репозиториев использовать ORM (планирую Cycle ORM), то в реализации будет просто.