Проще увидеть, что происходит, если отключить переполнение: скрыто на div.upperPage
Вы можете видеть, что якорь вызывает прокрутку содержимого, а не страницы в целом. Однако я не знаю каких-либо спецификаций, в которых указано, какие элементы следует прокручивать, чтобы выполнить требование привязки.