(Note: I'm not a professional game developer. I've just tried a lot of tools with a fairly open mind but the games I'm trying to make are very technical in nature that fitting that into any game engine is challenging)
Oh boy, where to begin lol. Would be interesting to know when exactly you used these engines but your assessment is sort of spot on from when I last dabbled in these engines.
I used Unity a couple of years ago for a few months. From what I understand 2020 (or was it 2021) is still the preferred version because apparently things got worse in more previous versions so maybe my experience is still relevant there. You said that basic things don't work in Unity. The input system is such a thing. There was a “new input system” introduced. I thought that looked great and wanted to use that since it supported multiple devices out of the box. The problem was that the events stopped firing so I had to call them manually if I remember correctly. For that feature there was an asset on the asset store which was apparently a lot better and stable so people recommended to buy that instead if one wanted hassle free input.
Another thing I've heard a few times which you mention as well is that the engine/editor doesn't handle big games that well. Once things grow beyond a certain size it might take 10+ seconds to compile and even run the game. The compilation should be alleviated with creating separate DLLs for your code so that you only recompile parts of it but from what I heard as well that doesn't remove the problem, maybe makes it slightly better.
On the positive side with Unity the docs are fairly decent and they generally show examples of common use cases.
For Unreal I would say it's a clunky engine that scales very well (again from what I've heard). It's meant for large teams and they have certainly optimized it for that.
A problem I find with UE is that it is very focused on the visual Blueprint scripting system. That system is very easy to work and prototype with but it's also a binary format that's hard to track with source control. You can copy some code from one project to another if you are inside the UE editor but you cannot do that outside of the editor. That's sort of what bugs me the most with UE, you have to be inside the editor to accomplish even writing and maintaining code. That's a hint to me that the engine is primarily for simplifying artists' lives while programmers just have to live with it. On the editor side though, UE5 is a big improvement on the UE4 editor. It's much more “modern” and I feel it runs better and is more well organized.
Another thing that bothers me about UE is that it's very “batteries” included by default. They give you these templates which are almost full fledged demos (very narrow in scope) and it's hard going getting 90% of the implementation handed to you to go that extra 10%. If all you are doing is expanding on what's already there (say an FPS) you will probably be totally fine. But if you want to do something that's a bit outside of the templates it's a bit hard to get started in this engine for some reason.
The worst thing about UE though, which is a solvable problem if you got the cash, is that with C++ it is literally impossible to use Visual Studio which is the official solution I believe. UE has its macro system with UCLASS() and friends. Visual Studio is generally unable to understand those macros and will paint half your project red. The solution to this problem though is to use Jetbrains Rider but you have to pay for it. Rider manages to index all the UE files correctly and it also even tells you if a C++ property is used in a Blueprint which is really cool tech! I bought a 3 year subscription on a sale but unfortunately since then I have barely used UE since I find the iteration process is too long with C++ and with Blueprints I feel I'm getting stuck too much in the “UE way of doing things”.
Currently I'm looking at Godot which has its own quirks. It is probably the most intuitive engine out of these. But I should not that my goals have changed from “make a cool 3D game" to “just make anything small in 2D". If you were frustrated with Unity not being “batteries included” then Godot will certainly be much worse for you since there isn't even a marketplace where you can pay for what you need. It's more of a platform that in a few years might be like Blender where a part of the industry moves to it and there will be lots of assets at that time (probably).
Overall there is not “one-size fits all” in game engines. Depending on what game you are trying to make specifically and in what timeframe, and what team size you can get totally different answers. Also a lot of these game engines live on marketing rather than actual long term usability. UE5 was incredibly hyped, Godot 4 was incredibly hyped, DOTS in Unity was incredibly hyped. Not sure if any of these technologies live up to their hype though.