That’s because Microsoft’s primary mantra is compatibility. Windows 10 can run Windows XP applications purely because they left the APIs and even GUI elements in place. So there’s no need to need an team of programmers constantly recompiling old software for a new OS version like is required on Linux. Even changing GUIs can cause havoc for the program and end users (why retrain users, thats costs money, time and mistakes?), that’s why its all been kept the same.
Just newer applications just use newer APIs and newer GUIs.
You may see some of those old controls peek their heads in kicad only because wxwidgets is pretty damn old and actually used those old APIs as well and was never updated in a few places (though it is slowly)
No. This is a win32 limitation. wxWidgets does not render the controls. Windows does.
Microsoft does not support dark mode in win32 applications. Only in UWP/WPF applications which we will never be able to do without also becoming purely a windows only application (it is not cross platform)
Though I will say it is possible with wizardy that isn’t possible to make part of kicad without dropping MSYS2 and switching only to MSVC builds.