World position looking like object position

I don’t get this… they say the world position is the default position that will never change and is the same in every world, and the object position is the relative position to an object, right?
but when I do this:

local redBlock = game.Workspace.redBlock
local blueCube = game.Workspace.BlueCube

    local offsetCFrame = CFrame.new(0, 2, 0)
    redBlock.CFrame = blueCube.CFrame:ToWorldSpace(offsetCFrame)

I get this:

Which just looks like redBlock being offset to the object position of blueCube.

Why is that?

You are basically doing

redBlock.CFrame = blueCube.CFrame * CFrame.new(0,2,0)

This is basically doing this I think

redBlock.CFrame = blueCube.CFrame * (redBlock.CFrame.UpVector * 2)