Your information is old, it’s been better for over a year. The situation for Mono on UE is entirely different than the classic Unity problems. Mono has been open source for a while and there is little stopping anyone from using it. Long before this happened, Unity decided to do their own .NET implementation. It seems to be tough for them.
Xamarin is working on their own free C# plugin for UE4. It is close to being ready, but to get it working like they want they need to incorporate some parts into core UE. This has caused some legel hurdles that they expect to have solved. As Mono is open source there are some other integrations in the works, the most promising being discussed in this tread:
C# is an open and standardized language, ECMA-334. There are two big open source implementations, Mono and Roslyn+.Net Core.
And Unreal’s C++ use isn’t very “open”, as it requires the proprietary Visual Studio (at least on Windows).