setHours
устанавливает часы в переданное значение и возвращает обновленное время UNIX. Поэтому не устанавливайте значение myHours при настройке часов. Вместо этого получите его после установки.
Документы MDN для справки.
Как @musefan указывает в комментариях к вопросу, вы можете просто вычесть непосредственно вместо установки / получения накладных расходов.
var newDate = new Date("2018-07-06T10:50:22.138Z");
var defaultHours = newDate.getHours(); // 16
newDate.setHours(5); //Sets hours to 5 but returns the date as timestamp 1530834622138
var myHours = newDate.getHours();
console.log(defaultHours - myHours);