Hi there
why not use Input.GetKeyDown(keycode.leftarrow) in the flipping method ?
If we are pressing the leftarrow its basically saying that we are moving, so no need all those maths calculations with velocity.
Then you just have to reach localscale and put the number as a negative
Or crossplatorm.getbuttondown (if you prefer)
Thanks for the help