How does an ORM prevent you from using any SQL features?
When you do the sorts of complicated things that are out of scope for an ORM, you do them in SQL. I don't see any incompatibility.
Back in the day when I was doing C, there were times when we just couldn’t get the speed we needed from the compiler. I wrote inline assembly. Does that mean C was unsuitable because it was incompatible with our performance requirements?
You can theoretically express any standard SQL query in LINQ even though outer joins can be obtuse at first. The translation may not be as optimal as hand written sql, but no compiler can translate code into assembly that would be as optimized as someone who could hand roll their own. We decided decades ago that high level languages were worth the trade off most of the time.
Unless you’re programming in assembly, everything you do is being converted into another paradigm that is what every compiler and interpreter does.