The device orientation is providing us with the orientation of the device in space. This information is provided by the device itself, and its heading is decided by the device. It is using the accelerometer data, which means the only thing that is guaranteed is the direction of gravity. your bearing is not set at all and can be decided by the device itself. iOS deals with it differently than android, and even in the android eco-system, different browsers deal with it differently. Even if it does, compass data on mobile devices is very inaccurate and must be calibrated beforehand.
To get the orientation the device provides us, simply enter the scene with an orientation-0enabled device. we do no magic inside. We take the data from the device and pass it to its rotation. If you use touch/mouse before entering orientation mobde, the bearing you selected will be the initial rotation. This can be set by resetting _initialQuaternion or calling resetToCurrentRotation with the right axis, but we have already discussed that in a different thread.