Если рассматривать компонентное приложение (на Vue, например), то верстаться должно не всё приложение, а конкретный компонент, который потом будет "переиспользоваться". Соответственно, если в компоненте присутствует какая-то логика, то и реализовывать ее нужно в рамках vue-компонента (причем ничего не мешает использовать jQuery рядом с Vue, хотя это излишне - все что можно сделать на jQuery, на Vue делается намного проще, быстрее и короче).
Вполне возможно, что верстку HTML/CSS (с препроцессорами для css или шаблонизаторами, типа pug) делает один человек (верстальщик), т. е. отвечает за статическое представление, и передает готовые сверстанные шабьлоны КОМПОНЕНТОВ, а не всей страницы другому (frontend-разработчику), который может внедрять какую-то логику поведения.