Drifting in PosHold Mode


The hex I am using is DJI S900 with Copter V3.5.5.
It flies fine in Stabilize and Altitude Hold modes but does not in the PosHold mode.
As soon as the mode changes to the PosHold mode, the hex starts drifting in a random direction and gets faster and faster as it goes away so that I need to catch it using other modes.
My guess is that the estimator is trying to correct the hex in an opposite way as it tilts a little bit (for example, if the hex tilts to the right, the estimator does not pull the hex to the left (which is correct) but even pushes further to the right).
I think that is because I placed Pixhawk on the hex’s frame rotated by 180 degrees but I think I reflected this in parameters.
I also placed an external compass (of 3DR GPS) that has the same orientation as Pixhawk (which is rotated by 180 degrees with respect to the frame).

The followings are the parameters I set:
Board Orientation (AHRS_ORIENTATION): Yaw 180, Board type (BRD_TYPE): Pixhawk2, Compass is attached via an external cable (COMPASS_EXTERNAL): External, Compass orientation (COMPASS_ORIENT): None, Compass 2 orientation (COMPASS_ORIENT2): Yaw 180, Compass 3 orientation (COMPASS_ORIENT3): None.

In Frame Type:
Frame Class: Hexa, Frame Type: “X”,“Y6A”.

In Compass:
In Compass #1: Use this compass (checked), Externally mounted (checked), None
In Compass #2: Use this compass (checked), Externally mounted (unchecked)
In Compass #3: Use this compass (unchecked), Externally mounted (unchecked)

This is the log file: https://drive.google.com/open?id=1a6VAw869pJMco1oZDJ7dHsOPb8R8E7bJ
Can someone help me with this issue?
Thank you.