Is this using Inertia.js? Did you consider Livewire?
Vue shines for user interaction. Instead of a single SPA, we usually have one per rendered page (i.e. User Interface). Works very well.
That means you have to parse all the JS on every rendered page.
Forms are a great example. Browsers and back-end languages have supported those very well for a long time without the use of JavaScript.
Routing is another thing browsers and back-end languages do very well.
The SaaS we are building is in Laravel + Vue. Laravel has a powerful validation engine and top notch routing and session management. We leverage those 100%.
Vue shines for user interaction. Instead of a single SPA, we usually have one per rendered page (i.e. User Interface). Works very well.
I haven't found any downside to this approach vs a full-blown SPA. Only benefits.