You have to be careful when setting a rigid body’s physical parameters. If you do it wrong, you’ll be fighting against the physics engine.
To do it correctly, you need to use the Physics2DDirectBodyState which you can access in _integrate_forces(). In this manner you can set the body’s Transform2D to any value you like.
Quick example:
func _integrate_forces(state):
var xform = state.get_transform().rotated(some_angle)
state.set_transform(xform)