KDE did bother, this does neither happen with KScreenlocker, nor do non-screenlocker windows show in another way, because the screen locker is integrated with the compositor.
If the compositor crashes or gets disabled somehow ofc though, that integration doesn't help either and you have to rely on a mountain of bad hacks as well as the hope that the screen locker doesn't also crash for nothing to happen in that case, but it's as close to secure screen locking as you get on Xorg... in the end the solution for secure screen locking is still Wayland.
Xwayland doesn't get input in some special way, it uses the exact same Wayland protocols to get input events as native Wayland apps. All claims about it being more complete or anything like that are nonsense.
Krita forces Xwayland because they have some X11 specific code they haven't bothered porting away from, that's all.