I only vaguely understand Quaternions, so it’s difficult to tell how to translate the quaternions used by RigidBody for AngularVelocity and Torque to the floats used by RigidBody2D. Could anyone here offer suggestions?
You could try these changes which preserve the existing structure - I just removed the “magnitude” conversion from the angular velocity, and fixed it to be about Vector3.forward (the Z axis), and made the AddTorque call only pass through the Z component of the calculated torque (the other components ought to be zero anyway):