Expo is a huge bait and switch that makes it hard to fix down the line. It's all rainbows, butterflies and QR codes at first, until something goes wrong or you outgrow expo. Then you're in the 5th circle of hell where you've coupled half your app to expo and need Java, gradle, and IOS experts to fix it.
Next project I have to do on mobile it'll be React native all the way from the start.
Yep was going to say this, Want to use a library that is too low level for expo support? Tough! you eject from Expo and now you have to do the low level RN stuff for everything and not just that library.
We haven’t had to fully eject with the dev builds -
Have you hit the limits of that new(er) workflow? We have lots of packages not available in expo go (and a few that required some config finagling) https://docs.expo.dev/development/create-development-builds
Next project I have to do on mobile it'll be React native all the way from the start.