Rotating a part welded with Motor6D only works with custom characters

I am creating a morph animation where a orb scales and spins around the player. The scaling is tweened and works but the spinning is in code and only works for custom characters. The default loaded ones and one that I copied and cleaned from everything but motor6D’s spin the character instead of the orb.

The spinning code, happens in RunService.Heartbeat:

RunService.Heartbeat:Connect(function(deltaTime)
    -- Motor6D.Part0 = character.PrimaryPart
    -- Motor6D.Part1 = orb.PrimaryPart
		
    -- Change the rotation value
    rotationValue.Value -= 5
    if rotationValue.Value <= -360 then
	    rotationValue.Value = 0
    end
    -- Change rotation on the orb (spin it)
    local orbRot = CFrame.Angles(0, math.rad(rotationValue.Value), 0)
    motor6D.C1 = orbRot
end)

The green model and noob looking model spins instead of the orb. But the Bee and the tall box guy works.

I’ve tried changing the spinning code after finding this answer in another thread Rotating a Welded Part? - #3 by doggy00
Changed the code to:

local playerCFrame = player.PrimaryPart.CFrame
local orbRot = playerCFrame * CFrame.Angles(0, math.rad(rotationValue.Value), 0)
motor6D.C0 = playerCFrame:Inverse()
motor6D.C1 = orbRot:Inverse()

But that did not change anything.

Also tried tweening the rotation but that did not work since it’s welded with a Motor6D and heartbeat updating the position of the orb instead of welding it but then it appeared behind the player if they walk.