Я решил эту проблему, установив для меню высоту окна ['innerHeight'] + 'px' вместо использования 100vh.
Затем я обновляю высоту при изменении размера браузера [псевдокод ниже]
addEventListener ('resize', () => menu.style.height = window ['innerHeight'] + 'px');
Это прекрасно работает во всех браузерах и мобильных устройствах.