If you put the value as 0, you would be using the orientation control that is the pitch, roll and yaw commands.
You can use position control (X, Y, Z, yaw) if you use the value of the constant to be 1. Yaw has an independent controller so you can use the yaw in both orientation and position control.
The X, Y and Z values are with respect to the global frame of reference. Hence, you see the behaviour that the drone moves straight even if you increase X after the yaw. It has been actually asked to increase teh global X and not the X with repect to the drone's body.
I hope this helps.