Rigidbody2D.angularVelocity は、
Rigidbody2D.AddTorque() もだけど、
重心点(position + centerOfMass)を中心に回転している

そのため、centerOfMass≠Vector2.zero となり、
重心点の位置が画像の中心位置からズレると、
中心点回りの画像の自転だったのが、
重心点回りの公転になってしまうよう

ちょうど、transform.RotateAround() と同じ感じ
(公転中心=重心点、公転軸=z軸、公転角=回転角)

それに対して、Rigidbody2D.rotation は、
あくまで画像の中心点(position)を中心に回転している

なので、重心点の位置が画像の中心位置からズレると、
逆に、重心点が、画像の中心点回りの公転になってしまう

ちょうど、transform.Rotate() と同じ感じ
(x軸回転=0,y軸回転=0,z軸回転=回転角)
こちらは、自転中心=画像(オブジェクト)の中心点

ちなみに、Rigidbody2D.AddForce() と
Rigidbody2D.AddTorque() は、重心点に作用するけど、
Rigidbody2D.AddForceAtPosition() は、
任意の座標点に作用させられる
(ただし、回転+移動になってしまう)