If you try Rate, Rate, AxilsLock for both flight mode 1 and flight mode 2 does the swash still jump? I have a theory: Since the two flight modes are so different when they try to get to level (Attitude) you see one flight mode accomplish more than the other.
And from your UAV:
<object id="0xE8EBBD48" name="StabilizationSettingsBank1">
<field name="ManualRate" values="220,220,220"/>
<field name="MaximumRate" values="300,300,300"/>
This means the aircraft will rotate 220 degrees / second when you try to flip. Change Manual Rates to 540 or larger. Make Maximum a little larger so the heli can correct if it needs.
<field name="RollRatePID" values="0.0055,0.025,3.3e-05,0.3"/>
<field name="PitchRatePID" values="0.0055,0.025,3.3e-05,0.3"/>
Bank1 is wild. It could be uncontrollable in flight. It could oscillate.
Bank2 is about half :
<field name="RollRatePID" values="0.003,0.0065,3.3e-05,0.3"/>
<field name="PitchRatePID" values="0.003,0.0065,3.3e-05,0.3"/>
And try Rate instead of Attitude until you get it flying well.
Can you get more than 2 flight modes with your DX6i? If there is a 3 position switch you can mix it with a two position switch? Maybe you can get 6 flight modes from your TX like I get from my DX7S.
good luck,
Dave