No: XWayland does not exist from a client perspective. A client will only ever use the X11 backend regardless of whether a real X11 server owns the display, or if an X11 server spawned by the Wayland compositor is on the other side of the connection.
If you’re using the X11 backend, then you can always use
XMoveWindow() yourself—of course, you’ll need to figure out the location of the window. In practice, though, any X11 client doing that on its own is generally frowned upon: the window manager decides whether to put a window, not yourself. If you’re creating an Override-Redirect window, you’ll still need a parent window to provide a reference point for the coordinate system.
If you’re using the Wayland backend directly, then you cannot move windows anyway.
You cannot move top level windows in Wayland, because you don’t have access to the screen coordinate system; that coordinate space is the exclusive realm of the Wayland compositor, and clients have no access to it—unless the compositor exposes some sort of ad hoc interface. Each top level window exists in its own coordinate space, with the origin at the top left corner of the rectangle defined by the size of the window, and the anti-origin at the bottom right.
Only “child” windows—popups, like menus and tooltips—can be positioned relative to their parent window; for that, you already have access to the generic