As a solo developer, I tried maintaining two native code bases for an app. It was first iOS native only. The Android version came later, and never reached feature parity. It was just too much work.
If you were to start over, would you still choose Ionic and Cordova, or go with something else like Xamarin or React Native?
I'd still use Ionic + Cordova. Or to be a bit more specific: The Ionic team released Stencil a few months ago, which is a compiler for Web Components. They also released Capacitor, which is a replacement for Cordova.
I'm considering switching to these, because it gives me a bit more control over all of the code (and I'm not really a fan of Angular). But I'd use JS for apps again whenever I can. It's just so much more convenient and especially since I can release a PWA or web version without much effort.
You weren't asking me, but if you don't have loads of content to display onscreen and your design is relatively straightforward, it might be best to go with React Native, since it gives you proper native controls.
You make a ton of concessions (imo) by locking yourself in a webview.
If you were to start over, would you still choose Ionic and Cordova, or go with something else like Xamarin or React Native?