Any engine that targets complete beginners is going to be 'a bit dishonest'*. They can't convey the complexities from the get go without confusing and scaring their users. Unity is built for what it is, and is a necessary bunch of compromises to enable the games it enables. There are other 'pro' engines out there that we rarely ever talk about, which I for one have no idea how good they are in terms of complexity and performance. eg. Sony's PhyreEngine came up in another thread yesterday. That's a cross-platform engine never talked about. However, these days cross-platform includes mobile which offers its own set of challenges.
Conceptually, you can't have a jack of all trades that's mastered them all, which is what a Unity style engine needs to be. There's also a lot of legacy behind Unity but you can't start a clean-slate design engine without starting from grass roots, which is a huge undertaking and beyond the financial viability for most. Unity could produce a 'Unity 2' perhaps with a ground-up rewrite, or Epic with something other than the Unreal Engine (surely it's time for the Fortnite Engine?!). Realistically though, the range of options we have now is the natural product of commercial limitations and software evolution. It's the same principle behind English's truly shit spelling, but which cannot be replaced because the language is in use and we just have to learn to work with its limitations instead of inventing a clean, efficient English 2.
* Edit - My big bugbear with all tutes is they don't go on to explain best practices. In Unity's case, from the start you learn about creating and destroying gameobjects and trashing the GC. Very early on, GC should be explained with simple instruction how to manage resources. Maybe the new GC system will fix that though? Making it transparent in the engine rather than require the developers to manually handle it would be simpler.