Applying Accessories (and clothing) to NPCs via client

I tested this code block both on server and client:

local character = game.Workspace.Rig
local clothing = game:GetService("ReplicatedStorage").Clothing

while task.wait() do
	for _, accessory in pairs(clothing:GetChildren()) do
		accessory = accessory:Clone()
		character.Humanoid:AddAccessory(accessory)

		task.wait(1)
		accessory:Destroy()
	end
end

This is the result when the code is run on the server:

This is the result when the code is run on the client:

How can I achieve the first result running the code on client?

Using “ContentProvider:PreloadAsync()” like in this topic seems to work, but only if I parent the character to a different service (for example ReplicatedStorage) and then parent it back to Workspace, which I would like to avoid.

Applying layered clothing to NPC via client