Подгрузка компонентов не зависит от vue-router'a, а зависит от того как ты их подключаешь.
components: {
some: () => import('@/components/some.vue')
}
или
Vue.component('some', () => import('@/components/some.vue'));
И компонент some будет загружен только тогда, когда потребуется.
Ну и цельный бандл - он кешируется, при перезагрузках страниц ничего больше заново не грузится. С точки зрения отзывчивости интерфейса как раз выгоднее когда всё загружается сразу, а потом лежит в кэше. Разбивать стоит если бандл слишком разжирнел и первоначальная загрузка сказывается на UX и\или если в приложении множество кусков которые могут быть в принципе не использованы в тех или иных поведенческих сценариях.