Вы можете поставить контроллеры где угодно; маршруты не зависят от того, где хранится контроллер. Он сможет найти любой класс, который реализует IController в вашем приложении.
Обычно я храню свои контроллеры в отдельном проекте, например, в проекте MyProject.Frontend, наряду с проектом MyProject.Frontend.Application, который является фактическим веб-проектом точки входа с представлениями и т. Д.