This behaviour is still not documented (Qt Bug Tracker).
The special modifier handling is implemented in QWindowsPointerHandler::translateMouseWheelEvent. A WM_MOUSEWHEEL event is treated like a WM_MOUSEHWHEEL event:
const QPoint angleDelta = (msg.message == WM_MOUSEHWHEEL || (keyModifiers & Qt::AltModifier)) ?
QPoint(delta, 0) : QPoint(0, delta);