Да, если есть скрол, то показывать какой-то абсолютный элемент, выходящий за рамки скрола не получится и с этим ничего не поделаешь. Другой способ: сделать все меню целиком абсолютным по отношению к странице, гор. скрол будет в самой нижней точке этого меню включая абсолютный выпадающий список (придется поиграться с pointer-events: none, чтоб можно было нажать на все, что под меню).
PS. при гор. сролле не надо обрабатывать координату y на строке 28.