My only concern with Expo is once you're using it, you're going to get charged per user and per update. It's $0.005 per user per update (plus additional bandwidth and storage charges). So if you have 100K users, that's $500 per update. One update per month would be $6K per year. So you have to factor in the economics of your app.
Ejecting is an outdated concept when it comes to Expo for the past two years or so. The eject command in the cli is just an alias for the prebuild command even.
The way Expo builds your app these days let's you add native code as you want, modify your Gradle and pods files as needed, and you can still be on their managed workflow where you don't ever need to have Android and iOS folders in your repo. It's a really great time to be using Expo.