isPersonTurret doesn't affect thing, it's solely canHideGunner param causing described issue.
if player will perform turn in action on all seats that have such option then it's possible once again to change seat as a driver
this issue also cause bad "camPos" reading -> try vehicle player getSoundController "camPos"; on offroad & switch between 1st & 3rd PP mode - script will return same values for both modes