Несмотря на то, что в первом вопросе всё решили, оставлю своё решение первоначального вопроса.
Во-первых, мы просим ангуляр при запросах на сервер отправлять заголовок 'X-Requested-With':
$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
Соответственно теперь на серверной стороне мы всегда знаем это первичная загрузка шаблона, либо запрос от ангуляра:
if ($request->isXmlHttpRequest())
Если первичная загрузка, то отдаем базовый шаблон, например '::layoute.html.twig', в котором область под шаблон конкретной страницы обернута в ngView.
Если запрос от ангуляра, то обрабатываем запрос и отдаем подготовленный шаблон для втсавки в ngView.
Мы делаем так, потому что мы генерим шаблон на основании прав пользователя.
Данные для шаблона отдаем через ngInit.
Такая схема так же дает возможность достаточно просто работать с формами: генерировать со всеми нужными атрибутами, отправлять ангуляром в правильном виде симфони и соответственно выводить результаты обработки.