незнаю недавно был скрипт в котором нужно было отслеживать позицию мыши и все работало идеально через clientX & clientY.
вот к примеру код
document.onmousemove = mouseMove
function mouseMove(event){
event = fixEvent(event)
document.getElementById('mouseX').value = event.pageX
document.getElementById('mouseY').value = event.pageY
}