Well it’s not that you are completely wrong but Xamarin is a hacky but usable wand nowadays. In fact, with it’s native way of developing apps and not forms, it is doing whatever it promises.
You are using c#, you share all business logic, especially if you are using an architectural pattern which you should be doing anyways. Yes, you have to know both iOS and Android frameworks and design their responsive ui but still it cuts at code duplication.
Just my two cents.