Why is my Rigidbody child not moving with it's Rigidbody parent?

I’m sure I’ve solved this problem before with characters on moving platforms, but nonetheless I’m getting behaviour that’s confusing me now.
_
I have two cubes stacked on top of each other, each with a box collider and rigidbody.
_
The upper cube is the child of the lower cube. Gravity on both rigidbodies is disabled.
_
In editor and play mode, moving the parent cube by dragging the transform widget moves the child cube (it inherits the transformation).
_
However, when I run the following simple test code on the parent (moving it with movePosition), the child cube remains motionless, failing to inherit the transformation of the parent.

private Rigidbody rb;

    public float percent = 0.0f;
    void Awake()
    {
        rb = GetComponent<Rigidbody>();
    }
    void Update()
    {
        percent += Time.deltaTime;
        rb.MovePosition(Vector3.MoveTowards(Vector3.up * 2 + Vector3.left * 4, Vector3.up * 2 + Vector3.right * 4, percent));
    }

As I say, I’m certain I’ve used something similar for characters and moving platforms before (parenting onCollisionEnter etc.)
_
What’s the obvious thing that I’m missing here? This shouldn’t be confusing me like it is…!

Rigidbodies do not inherit forces/velocity from parent rigidbodies. They act independently. You could apply the move position to both, but there’s always the possibility that the child will hit the parent when trying to do that. You could use FixedJoint to keep them together (might need to unchild it), but it depends on what you’re trying to accomplish. FixedJoint would really keep them together, but if you want the child to also be able to move on it’s own but move with the parent as well, then you might want to take a look at other joint types and see what works best for what you want.