What's the intended function of "duplicate" in the level editor?

Using 4.27. I have an actor that I’ve duplicated in my level (through the editor), and I change the values of some of my uproperty variables on the duplicated actor. When I play in editor or a packaged build, some (not all) of these changed values won’t be correct–instead they will be equal to the values of the first instance of this actor. These variables all have the same metadata specifiers: EditAnywhere, BlueprintReadWrite.

I thought that duplicate would produce an independent instance of the actor. Is this not the intended behavior? I know I can just drag the actor into the scene from the content browser, but it would be easier for me to use something like duplicate–and I am just curious about the behavior.