Я испытываю эту проблему на устройстве iPhone (iPhone 7, iOS 10, но также и на других iPhone): в javascript, если я перехватываю событие changechange, внутри обработчика, screen.width и screen.height остаются то же (как перед вращением).
Так как это может зависеть от настроек видового экрана, вот как мой viewport объявлен в файле .html:
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1, user-scalable=no" />
Все отлично работает в симулированной визуализации Chrome.
Заранее благодарим за помощь.