C# on Linux is only slightly more annoying than Windows. You have to make some effort to install the SDKs and naturally some of the system APIs behave slightly differently, but overall I have only a very slight preference for windows here.
Mono does still exist, but since like 2015 or so C# has been supported natively on Linux. No one really uses mono anymore AFAIK. Its only purpose is running dotnet framework apps as opposed to dotnet core