By headless WordPress do you mean using the Rest API? I've done it and it's awesome. You will need helper functions and some business logic, but with the right server setup and caching, you can give your CMS editors/admins the same WordPress dashboard system and ditch the entire front-end for a custom roll out.
React is my personal choice. I like all 3 to be honest but if I had to rank for my preferences I'd go with: React/Vue/Angular. React and Vue are both view layers whereas Angular gives you a lot more out of the box.
If you're looking for a long term solution, Angular might be the best bet because if you just stick to Angular and do things in an Angular way, you can lean on the framework for a lot of what you need.
With React or Vue, you'll have to figure out ajax, state management, where to put business logic, choosing the right router, and the list goes on.
That's not to mention server side rendering, which is probably your biggest hurdle. You'll need some kind of server side rendering for SEO, I think that's where you should start.
Also check out some Google searches, React vs Vue vs Angular.
Good luck!