The problem for app developers is that there are so many completely different implementations of theming in platforms. On Windows, you have the Win95 era legacy theming (color schemes, fonts and window framing), like five or six different UI frameworks that may or may not integrate with the legacy settings, and on top of that the entire DPI settings which many app developers don't bother to test. On Linux, you have the big players KDE and Gnome and a truckload of splintered smaller projects. On macOS and iOS, you don't have anything but dark mode. On Android, you have dark mode and fonts. On web, you don't have anything but dark mode (and I wonder if that's going to be taken away like a million other things that got exploited to fingerprint users!). Oh and you have Java frameworks that have the same limitation.
And depending which kind of framework you use, it may or may not well integrate with whatever implementation the OS provides.