Why is it surprising (or even Wayland’s fault) that X apps don’t have proper fractional scaling under Wayland (or anywhere)? Like it is quite clearly the fault of X, isn’t it?
The thing is that many X apps DO have fractional scaling under X, but not under Wayland. This implies that it could be made to work but for some reason isn't.
Some frameworks don't have support for Wayland. So it might be not up to the program authors. World is not limited to GTK and Qt. One such example is Java.