I think was true before .NET Core, but now the experience is quite good.
It's also possible to use F# as a compile-to-js language using Fable. This code would run on Node or the browser.
Then there is https://github.com/dotnet/corert which allows ahead-of-time compilation to native code, but it is a bit more experimental.