It seems the delay is gone when you pre-emptively create a sound in studio and playing the sound by cloning it.
local Sound = ReplicatedStorage.PremadeSound
local function PlaySound(Source)
local new = Sound:Clone()
new.Parent = Source
new:Play()
new.Ended:Connect(function()
new:Destroy()
end)
end