This is really a Mono bug that should get fixed by Xamarin.  If Environment.OSVersion.Platform is reporting the wrong value, report it to Xamarin.