I've written quite a lot of F# code for the web over the last few years. Most of the time things just work as long as you don't use overly specific .NET BCL stuff.
We had issues with Dates. Implementing a custom 'ZonedDateTime' type with native implementations for both target platforms (JS and .NET) was straight forward.
Other than that there are a few gotchas when doing 'advanced' stuff:
- Fable does not support 'Array2D', 'Array3D', ... - Fable allows the use of ints but you have to know that at runtime they all are floats. - Fable does not support FSharp Quotations. - Fable does not support the full reflection API.
More here: https://fable.io/docs/dotnet/compatibility.html
Would definitely recommend F# for both backend and frontend. It's been a joy.