Так. Ну давайте начнем с MVC, идея которого, разграничивать три функции веб-приложения и делать их заменяемыми. Это значит, что если у вас, например, база была на MSSQL, а стала на MySQL или еще куда переехала, то вам не нужно будет вносить изменения в V и C (при условии, что представление и контроллер действительно не зависят от модели)
Представление V может быть как заменяемым так и отсутствовать вовсе
Razor - это, конечно, интересно, но, честно говоря, в промышленной разработке встретить его довольно сложно
Зато есть уйма проектов на ASP.NET + Angular/Vue/Backbone
Все они работают на идее, что сервер возвращает данные в чистом виде (JSON или XML), а за представление отвечает какой-нибудь веб
Можно смело говорить, что большинство современных веб-проектов выбирают именно подход API + Web. Плюс еще и в том, что т.к. сервер отдает только данные (без разметки), очень легко добавить в проект и мобильное приложение - оно принимает те же данные, но работает с ними по-своему. А, может, ваш API будет использоваться другой системой? Так опять же - данные в чситом виде и не надо будет парсить html
Поэтому:
Действительно ли есть такая практика обходиться без Razor при компонентном подходе вместо монолитного?
Да. И она более предпочтительна
Неужели рентабельно все вытаскивать аяксом через API?
Стоит, т.к. получая данные в "чистом" виде, frontend-разработчики чувствуют себя свободнее в работе с мордой. Ну и плюс, возможность подключить мобилку
И как тогда делается морда проекта?
Все, что вам нравится во фронтэнде (Фреймворки, либы, шаблонизаторы или же просто чистые html, css, js)
А если, например, нужно title или description на страницах для поисковиков, они же должны быть сразу в теле страницы, а не получаться через ajax?
ну ангуляр, например, как-то индексируется гуглом (ну еще бы он не индексировался). На эту тему стоит почитать статьи
Верстаются файлы типа index.html, в него подключаются css и javascript?
Ну и самое главное, если такое практикуется, то может есть пример на github?
Да. Ищите репозитории/книги/видео по словам ASP.NET + Angular - искать будете недолго