Not to self-promote, but you should take a look at my repository, unstatistical/engine. When I started this project, I was fairly new to Wayland and EGL development, but I believe that some code may still be relevant. Wayland code can be found in src/wayland.
I believe the best way to control window position is using a wl_region
object. You can create a region using this function:
wlContext.region = wl_compositor_create_region(wlContext.compositor);
And then, you can set the window's position like so:
wl_region_add(wlContext.region, x, y, w, h);
Best of luck on your project.