That is fine. X11 needed fresh start. But they also failed to learn any lessons from X, just assuming "if X11 did it it must've been a bad idea, let's do it differently".
X11 did chalk many lines of abstractions in absolutely the right places, it's just the implementation was crufty in places, and just not designed for modern hardware in some other places, while wayland just tried to kick as much as possible to the WM side, making it so instead one place where those things need a bunch of code (the display system/its plugins), now every WM have to repeat that work and (more importantly) add incompatibilities because of that
> But they also failed to learn any lessons from X
Why do you believe that the developers of X failed to learn lessons from X when developing the replacement of X? Perhaps they learned lessons from X and decided to build it differently as a result?