При считывании мыши не надо домножать на дельту, там и так идет дельта от предыдущий позиции. Не совсем понял что вам тут нужно, по коду ограничить поворот 310-50
[SerializeField] float rotationSpeed = 360f;
[SerializeField] float _inputPower=5f;
float _inputY;
private void Update()
{
_inputY -= Input.GetAxis("Mouse Y") * _inputPower;
_inputY = Mathf.Clamp(_inputY, -50f, 50f);
transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.Euler(Vector3.up * _inputY), rotationSpeed * Time.deltaTime);
}
если с осью поворота не угадал то Vector3.up изменить на другую