Couple of words about "native UI" and on statements like: "I (a hard-core software developer) prefer gray boxes".
You (as a software developer), is one of 1% of UI users. But rest of us (99%, sic!) consume UI in form of Web sites, right?
So "Native UI" these days shall look closer to default Bootstrap theme then to something that OS provides. My wife (as an example) has Windows notebook, iPhone and Android based book reader - "native UI" for her is meaningless at best.
About desktop applications in general...
There are two major types of applications:
a) the ones used time to time / rarely; b) and productive applications used 24/7 - parts of job workflow.
The ones that used time to time (what I name as "one big red button applications") must have descriptive UI - e.g. hot-keys don't work there - no one is bothered to remember them. So the UI shall be self descriptive, pictographic, etc. 1 second looking on window to make decision what to use.
Such applications must follow modern UI trends - who will trust antivirus if it looks as dinosaur from prehistoric times? That's why AV vendors prefer to use CSS, just to minimize maintenance costs, see: https://sciter.com/from-skeuomorph-to-flat-ui-evolution-of-o...
Productive applications: MS Office, Adobe Suite, even IDEs like Visual Studio, JetBrain, SublimeText, VSCode, etc.
None of these are using "native UI" as you know. One of the reasons: "native UI" is not expressive enough. Another reason: these are complex UI systems with complex data model underneath and so complex update graphs. They prefer GC-able runtime environments for those reasons. Yet there are c), d) up until z) reasons why they do that, I can speak about that forever, e.g. Adobe Suite must be cross-platform, right?
So when you use "native UI" please take the above into consideration.