Doing Xamarin development for a few years taught me that you really need to understand the underlying operating system and how it works. Most of the consulting gigs I got were what I called "bomb squad programming" where a C# web shop decided "How hard can it be?" and embarked on a Xamarin.Form project only to discover too late what they didn't know. When I started mobile work with Xamarin this bit me as well (but I Googled my way out of it quickly enough). These weren't dumb programmers but just because you can expertly apply C# in web development doesn't mean you can instantly apply that in another kind of programming (like multi-threading, desktop, server services... or mobile). The very best Xamarin devs I knew came over from doing ObjC in Xcode or Java in Android Studio. What made them so good is that they understood at a deep level how to write mobile apps. It's like if you do Java MVC web development and switch over to ASP.NET MVC. The concepts are pretty much identical so the only hurdle is adapting to the language/syntax differences.
Really long-winded way of saying: sticking with Ionic initially and making friends with someone who can bail you out and/or mentor you on deeper understanding of the mobile operating systems will pay off.