> When you decide to use a new hint, you change the window manager to interpret it and then use it in the client. So you must recompile the WM. X provides the communication transport.
You CAN recompile WM, but you don't have to. Your program and WM are independent. You can build your program on another WM and it will work there, just your hint will be ignored.
> In wayland world, all this happens between the client and the compositor. If you must add a hint, you change and recompile the compositor.
In Weston/Wayland you MUST recompile the compositor. Your program links with compositor, they share protocol. People won't be able build it until they update the compositor too.
> In both cases, the work to add a new hint is exactly the same.
You forget about the first difference. For the last 20 years most hints were already added, standards for them were already written and implemented in WMs. But in Wayland world you have to spend those 20 years again to reimplement them all from scratch. And you cannot reuse those standards, because Wayland does everything differently.
So in wayland world in addition to the work of adding a new hint you have to also do a lot of work to add all the old hints. It's a weird world...