Hi all,
I run into the same issue with my Nexus 5x. This problem actually can be addressed without upgrading to camera2 API (See https://www.reddit.com/r/Android/comments/3rjbo8/nexus5x_marshmallow_camera_... for details on how to do this with the old camera API).
I checked freeotp sources and it already contains the suggested workaround code! I could not understand why I can see the picture upside down even though the code is already in freeotp until I found a bug in a different part of ScanningActivity.
On my Nexus 5x, this bug causes the ScanningActivity to read and use properties (such as orientation) of the front camera although it is the rear camera that is actually used for preview and scanning. As a result, orientation is not properly calculated.
The fix is really simple and can be found here: https://github.com/jharting/freeotp/commit/38ee3292fc8366b4cf329d3c08b30140e...