✓ Accepted answer
Alright, so what you are doing wrong is you're passing a Vector3 through a CFrame. You cannot do this.
So why can you not do this? CFrame and Vector3 are two different values, one being local and having 12 constructors (CFrame) and the other being global and only having three constructors (Vector3). You cannot pass a Vector3 value through a CFrame and vise versa; however, you can multiply and divide them.
PROPER EXECUTION:
local LiftGate = game.ReplicatedStorage.LifeGate
local Gate = game.Workspace.Gate
Gate.CFrame = CFrame.new(109.869, 10.812, -86.569)
wait(3)
Gate.CFrame = CFrame.new(109.869, 8.267, -86.428)
OR
local LiftGate = game.ReplicatedStorage.LifeGate
local Gate = game.Workspace.Gate
Gate.Position= Vector3.new(109.869, 10.812, -86.569)
wait(3)
Gate.Position= Vector3.new(109.869, 8.267, -86.428)
As I mentioned before, CFrame has 12 constructors, but you only have to pass 3 for it to execute.
I hope this helped!