Achei muito pertinente este questionamento. Trata-se se de uma decisão muito impactante para o futuro de nossos projetos, principalmente para grandes projetos.
Na minha humilde opinião, a única vantagem para adoção do Xamarin (contra outras soluções para desenvolvimento híbrido), seria o fato de utilizar a linguagem c#. Que é linguagem amplamente consolidada e com uma comunidade muito forte e ativa mundialmente.
Porém, eu tenho optado por utilizar plataformas que aproveitam todo o ecossistema de desenvolvimento web (Ionic, React Native, etc), em vez de ecossistemas próprios (Xamarin, Flutter, Nativos etc), justamente pela ampla gama de soluções prontas para o ambiente web, para quase todos os tipos de problemas que eu passei durante o desenvolvimento dos meus Apps.
Por exemplo, tenho utilizado o moment.js para trabalhar com datas nos meus apps.
Cara, que biblioteca fabulosa! Me poupou horas de trabalho.
Quanto ao ambiente de desenvolvimento para o Microsoft Xamarin, parece que a microsoft está atenta aos anseios da comunidade, e este cenário já está sendo melhorado.