Hi, I am on 5.4.
Sadly instead on focusing on flexibility by deeply understanding engine internals (documentation would help), plugins like commonUI are focusing on simplicity by forbiding things that could be achieved. Like forcing UIOnly mode in CommonUI plugin, when you need an UI to work in game and UI mode…
Or disabling at engine level the ability to fine-grain control when mouse cursor is shown or hidden, this does not seem very professional… The bShowMouseCursor and the bEnableMouseOverEvents flags are there in C++ and blueprint but have no effect ¿?¿?¿¿
So in the end you are alone against engine UI and still needing to override engine code with your own in complex scenarios.
But I would not say it smells, it seems to lack documentation only and some explanation and reasoning about why these decisions are taken and what can you modify in the engine to get the things working the way you want.