I have the same problem and maybe I can save others some time.
The short answer: I couldn't find a real solution.
The long answer: I consider it a bug. There are surprisingly few posts to find in the internet, so probably there are some yet unknown side-conditions to trigger this behavior.
It only affects UIModalPresentationCurrentContext. If you don't need semi-transparence you can go for the other modes like UIModalPresentationFullScreen which work.
The resulting state is quite messy: statusBarOrientation reports the gui-orientation correct. Also the bounds have changed. Calling setNeedsLayout will result in a layout matching the real orientation in size but oriented the wrong way...
maybe it can be fixed setting a transformation to the view or by triggering the framework to reconsider its orientation by adding and removing a view with respective orientation-support-flags, or some other ugly workaround(Sadly there is no way of telling the framework directly to change orientation)
I resorted to a solution that uses addSubview instead of presentViewController.