The issue here is, that the button object isn't rendered inside the canvas.
It is a "DOM"-element that "floats" above..
That's why it will always be above sprites, even if you try to change the z-order..
It's also the reason why moving it has different results than moving objects that are rendered inside the canvas..