It really depends on your requirements, what you'd like to achieve and in what timeframe. You should consider that even if 10.1 just released, it will take some time until the project you want to migrate to will be released.
If you plan on having all the sitecore capabilities (like personalization) in your React app you should use the first two options, as you need sitecore once you deploy your app and use connected mode. It depends a lot also on how you plan to build the React app and how you'd use JSS, please take a look at the documentation https://jss.sitecore.com/docs/fundamentals/application-modes.
I would suggest to also look into
https://jss.sitecore.com/docs/nextjs/getting-started-nextjs/why-nextjs for building the app.