Floor constraint with bumps?
Yes, you can do that, by creating a floor marker and using a shrinkwrap constraint to raise it up the level of any bumps:



The wheel's armature has a wheel parent, an axle, and a floor bone.  Both the axle and the floor are parented to the wheel parent.

The floor bone is raised to the level of the mesh by a shrinkwrap constraint, as pictured.  (Not lowered, but you can build that in with a second constraint if you want.)  The axle has a floor constraint (with offset) targeting the floor bone.  As the wheel parent moves over a bump, the floor bone raises to the level of the bump, which raises the floored axle bone.