CFrame.LookVector Not Working

So for some reason the lookVector seems to be facing in a different direction than the player.
Script:

local Players = game:GetService("Players")

script.Parent.Touched:Connect(function(part)
	local Char = part.Parent
	local Player = Players:GetPlayerFromCharacter(Char)
	if Player then
		local Root = Char:WaitForChild("HumanoidRootPart")
		Char.PrimaryPart = Root
		Char:SetPrimaryPartCFrame(CFrame.lookAt(Vector3.new(Root.Position.X, workspace.TPPart2.Position.Y, Root.Position.Z), Char.HumanoidRootPart.CFrame.LookVector))
	end
end)

Video:
robloxapp-20220320-1257182.wmv (1.2 MB)
Edit: I was able to make it work a bit better by changing it to only tp if the root touches it, although that didn’t fully fix the problem

I’m not sure what you are trying to achieve fully, but a very easy way to make a part look at a certain coordinate is the following:

CFrame.new(<position>, <lookAtTheseCoords>)

I’m trying to make the player fall forever, and sadly that did not fix the problem

You could probably do:

local delta = workspace.TPPart2.Position.Y - Root.Position.Y
Root.CFrame + Vector3.new(0, delta, 0)