There is Xamarin.Forms, which is essentially cross platform XAML with a base set of widgets. It supports Android, iOS, UWP, and they are working on MacOS. No Linux yet.
I have same feelings for js in general, but I suggest you to try React Native. Just follow their official docs/tutorial. I was pleasantly surprised how straightforward it is. I believe you can as well use TypeScript.
You should bother with React Native. It game changer in the mobile world, not a trendy thing that will pass away. Senior iOS devs are going the RN route. Companies all over the places use it for their mobile clients. A little company named WIX recreated its entire mobile front with React Native.
I beg to differ. The xamarin stack on Android without forms is much preferable to whatever confused iteration of java+toolchain Google is currently offering.