Copy Rotation Constraint problem

I am trying to model and animate a center-hub steering mechanism for a motorcycle. To this end, I have placed a constraint on the axle, trying to make it rotate (steer) at the same time another object rotates. But it’s acting really strange.

I have the constraint set to copy the Y-axis rotation. It works fine, and if I rotate the axle around the global Z-axis 90°, the axle will then rotate around the global X-axis - which happens to coincide with the axle’s local Y-axis. Okay, so maybe it’s the local axis those buttons refer to.

But if I then rotate the axle 90° around the global Y-axis, so the local Y-axis coincides with the global Z-axis, the axle will continue to rotate around the global X-axis, which no longer coincides with either the global or local Y-axis!

What I am trying to accomplish is to have the axle rotate around the global Z-axis as the control arms rotate around the global Y-axis. I am not using an armature (no bones about it!), just constraints on the objects themselves.

Am I doing something wrong? Why on earth are the Z- and Y-axes acting different?