Your solution also works on the other side(s), Richard, I'm sorry to say. And it very much depends on the rotation of the cube whether it will work as wished; a small rotation and it will displace more sides.
If the cube is on its final place a simple shape (placed in location with same rotation) can be used to mask the side to be effected. Then any displacement or vector displacement can be used, masked by that simple shape.
I tried some things, but the vector displacement is still a bit cumbersome with rotation.
Btw. difference between get position and get poition in texture is that the latter line of functions can be altered (by warp, e.g.) afterwards, the former can't.