Does UE get FTransform composure wrong?

So UE defines transform composure:

// Order matters when composing transforms: C = A * B will yield a transform C that logically first applies A then B to any subsequent transformation. Note that this is the opposite order of quaternion (TQuat<T>) multiplication.

However, in the Multiplication function:

		// ScaleResult = Scale.B * Scale.A
		OutTransform->Scale3D = VectorMultiply(ScaleA, ScaleB);

`
Component-wise scale multiplication does not take into account the rotation of the incoming (local) transform A.

The result means that scaling an object on the z-axis will scale a rotated child object along its local z-axis, not the parent z-axis, which is definitely not intended because this is not how location or rotation behave.

Is this a bug?

EDIT: Converting the two transforms to Matrices and then performing the multiplication is a work-around to get the correct result:

FTransform(A.ToMatrixWithScale() * B.ToMatrixWithScale());