Animation latency in other clients

I am making a small little FNF project.
The problem is that on my screen the animations are fine.
But on a different player’s view, the animations are late and the old poses continue playing when going back to idle.

My view is on the left / another player’s view is on the right

Is this a Roblox thing that I cannot fix?
I know Funky Friday’s animations don’t behave this way.

If you want to know:
AnimationWeightedBlendFix is disabled
ClientAnimatorThrottling is Enabled


Here is the animation script:

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInput = game:GetService("UserInputService")

local animHandler = script

local player = Players.LocalPlayer
local humanoid = player.Character:WaitForChild("Humanoid")

local animation = Instance.new("Animation")
animation.Parent = script.Parent.Parent.Parent

local keybinds = script.Parent.Parent.KeyBinds

UserInput.InputBegan:Connect(function(key, istyping)
	if istyping then return end
	
	local animationPlay
	
	if key.KeyCode == Enum.KeyCode[keybinds.UpArrow.Value] then
		animation.AnimationId = "rbxassetid://".. animHandler:GetAttribute("upAnimation")
	elseif key.KeyCode == Enum.KeyCode[keybinds.DownArrow.Value] then
		animation.AnimationId = "rbxassetid://".. animHandler:GetAttribute("downAnimation")
	elseif key.KeyCode == Enum.KeyCode[keybinds.RightArrow.Value] then
		animation.AnimationId = "rbxassetid://".. animHandler:GetAttribute("rightAnimation")
	elseif key.KeyCode == Enum.KeyCode[keybinds.LeftArrow.Value] then
		animation.AnimationId = "rbxassetid://".. animHandler:GetAttribute("leftAnimation")
	else
		return
	end
	
	animationPlay = humanoid.Animator:LoadAnimation(animation)
	animationPlay:Play(0)
end)

And the idle:

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local animHandler = script
local bothReady = ReplicatedStorage:WaitForChild("BothReady")

local player = Players.LocalPlayer
local humanoid = player.Character:WaitForChild("Humanoid")

local animation = Instance.new("Animation")
animation.Parent = script.Parent.Parent.Parent

local idleLoad = Instance.new("Animation")
idleLoad.AnimationId = "rbxassetid://"..animHandler:GetAttribute("idleAnimation")

--Play idle animations at same time
bothReady.Changed:Connect(function()
	local idlePlay = humanoid.Animator:LoadAnimation(idleLoad)
	idlePlay:Play()
end)