How to make logical rigged, weight painted mesh transformation? I tried to look for my question before asking, but could not.

I'm doing Blender + Unity, which is why I'm trying to rig via vertex groups and weight painting. (I think that's the most logical approach to Unity)

The wheel in the below gif doesn't rotate the way it should. Not only does the vertex group not rotate 360 degrees, but the mesh selection doesn't stay rigid during the rotation. This issue is also shown by using the wheel rotating bone.
To better uderstand the vertex behaviour try this little experiment: scale down the default cube to something like 0.1 BU, then create an armature with two bones, one on the left (X = -1) and one on the right (X = 1) of the cube.

Assign a weight of 1 to all the vertices relatively to both L and R bones.

Then in pose mode move the R bone by 1 on the X axis: the cube will move on the right by 0.5 BU: this happens because all vertices are influenced by all two bones: one is telling them to move 1 on the right, one is telling them to stay still; the average of the two instances will result in half the movement (1 + 0)/2 = 0.5.

Your wheel has the same problem, because is weighted to 6 different bones: the correct approach is to have it weighted only to a single bone that will have to perform all the movements (i.e. its Y rotation will be the rolling, its z rotation will be the direction, its location will be influenced by the complex mechanism of the shock absorber, etc ....)