

If there’s still wayland protocol extensions required for this functionality (which I don’t think, kwin should have everything it needs, protocols would only be necessary if you’d want a DE-agnostic client application to manage the hotkeys), then KDE is in the best position to get things moving. With wayland development, nothing gets done without a reference implementation and vote from a big compositor, so sitting back and waiting “until things improve” is rarely a valid strategy.
I don’t know about the accessibility side of this, but from how uninterested the devs are every time it’s brought up I can only assume that a keyboard-centric workflow is no longer a focus for KDE. Which is a shame, because with khotkey, KDE previously did provide the best experience out of all major DEs. Now it’s down among worst, when even Gnome(!) has retained some kind of custom hotkey functionality on wayland.
I suggest to take a look at Gentoo. Gentoo doesn’t need/use DKMS, it just recompiles modules after a kernel update as a part of regular package management. You can mask arbitrary package versions or version ranges to reliably stay on an older kernel, driver version (for example on my desktop I currently mask
>=x11-drivers/nvidia-drivers-590, meaning “give me the newest 580 version”). I think all version lines that Nvidia updates still get package updates on Gentoo, including 390. And if you need some really old stuff it’s easy to roll your own repo (overlay) and keep discontinued versions/packages around for however long you need them. And once set up, this is essentially maintenance free, and if it does require intervention, you’ll likely get notified directly through the package manager before something breaks, either via a news item or an error during dependency resolution.PS: And in case you’re wondering, it’s possible to run Gentoo entirely without compiling, or with only compiling packages selectively when you want to change the default flags.
PPS: Oh and maintaining custom patches (as long as they apply cleanly) is as easy as dropping them into a specific subdirectory of
/etc/portage/patchesand rebuilding the package.