Thanks for the detailed response. We've tested a bit more, and made a couple of fixes to the original solution.
function setOffset(pageNumber, x, y) {
readerControl.c.tX = x - readerControl.displayMode.getPageOffset(pageNumber - 1).x - readerControl.vWOffset;
readerControl.c.tY = y - readerControl.displayMode.getPageOffset(pageNumber - 1).y;
readerControl.setZoomLevel(readerControl.docViewer.getPageZoom(pageNumber - 1), false);
}
When you are on pages greater than 1, you need to subtract the vWOffset which is basically scroll position through the document.
Also, for the vertical position, you need to subtract the y offset.
On our end, this seems to work for us to set page position correctly (we've tested [0,0], [0,-100], [-100,0] and all of them behaved as expected).
Let us know how this works for you.