Object Constraint - Object won't make a 360º rotation
This is happening because that's how the Transformation constraint works w/r/t to rotation.
From the Blender Manual:

When using the rotation transform properties of the target as input, whatever the real values are, the constraint will always “take them back” into the (-180 to 180) range. E.g. if the target has a rotation of 420 degrees around its X axis, the values used as X input by the constraint will be:
((420+180)modulo360)−180=60−...
This is why this constraint is not really suited for gears!

You can use rigid body simulation to animate these properly, but that's beyond the scope of this answer.