Constraints not behaving as expected Background

I am modelling a car. I am trying to create a simple rig whereby rotating an empty (the "Tyres Rotator Empty") will rotate the tyres and the steering wheel. This would allow me to easily "pose" the car as it goes round a corner (for example).

I would like to do this using constraints. The obvious choice would be Copy Rotation on both the tyres and the steering wheel, and Limit Rotation on the Tyres Rotator Empty.

I managed to rig this perfectly, until I came to parenting all the various objects that make up the car to a single container empty (the "Container Empty"). Doing this broke all my constraints in very odd ways I didn't understand. I had objects jumping about all over the place and nothing behaved as expected.

I am now trying to rebuild my constraints. While I have managed to do this for the tyres, I cannot get this to work for the steering wheel. The steering wheel needs to rotate on its local Z axis when the Tyres Rotator Empty rotates on its global Z axis. 

While this should be simple enough to create with either Copy Rotation or Transformation constraints, I just cannot get the desired behavior. 

Question

The steering wheel (see attached file) consistently seems to rotate along the local y axis instead of its local Z axis, even when I set it to be evaluated in local space. I cannot seem to get it to rotate on its local z axis.

My constraints seem to be correct, but I am not getting the behavior I intuitively expect. I suspect that I don't properly understand how World Space and Local Space works.

Please note that I have included two constraints on the steering wheel in the attached which I think should work (Copy Rotation and Transformation), but one is disabled. This is just for illustration. I am not trying to enable both at the same time, but I feel that either one should work and yet neither do.

What am I doing wrong? What do I not understand?
The question might be better explained with: Remove the parent from the steering with ALT  P and you will see it works. Why does the parenting disrupt the pivot point?
Update: If you add a child of constraint to the steering (uncheck the scaling) it adds the parent and behaves as expected without problems.