Any reason why this check for equal position was added in 2.3
https://github.com/BabylonJS/Babylon.js/blob/master/src/Cameras/babylon.arcRotateCamera.ts#L492
This changes the behavior subtly
In 2.2 if I wanted to change the target but keep the same position I would save the current position, change the target and do setPosition() using the saved current position.
This would have resulted in the alpha, beta ,radius being re-calculated based on the new target while keeping the same position.
In 2.3 because of the above check all this is bypassed.