OrbitControls
makes the "look at" the target
position, so just rotating the camera won't affect the controls. However, moving the camera will.
If you want to set the camera's position based on the rotation, you can can rotate the camera, get the forward vector from the camera, and position it relative to the target position. Here's a rough example:
// ... rotate the camera and update the camera's matrices
// get the forward vector
const fwd = new THREE.Vector3(0,0,1);
fwd.applyMatrix3(cam.matrixWorld).normalize();
// ... generate an offset vector by multiplying the forward vector
// by a desired distance from the target
cam.position.set(controls.target).sub(offset);
controls.update();
Hope that helps!