I have had similar experiences on several decent sized mobile projects.
The idea of a single code-base to rule them all is very seductive.
The reality, when you get to UI and hardware issues, is when you begin to get frustrated.
If your app doesn't need perfect hardware coverage, great hardware sub-system coverage (cameras in particular), and you have some cohesive UI design that won't irk people on seperate platforms ... then go ahead, React Native, or ionic, or flutter, or plenty of frameworks will work for you.
Otherwise, I think it is better to just bite the bullet and run two separate code-bases with pretty tight project managment to keep them synced.