Why removing an object from a copy of an array deleting it from the original data asset?

I have a Data asset with an array of skills declared like this

> UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, meta = (TitleProperty = "{Name}"))
> TArray<TObjectPtr <const USkillCard>> SkillCards;

In editor the Asset is setup like this with 1 item in the SkillCards Array

In my BP I am adding the elements of this array to a local var array 1 at a time through get(a copy). Then I am removing the first element.

After running this and exiting my play session. The data asset no longer has my 1 object in the Skill Cards array, and the following runs of this function after rerunning the game also validate that (claiming there is nothing in the array at runtime)

So how is a copy of a const array STILL removing data from the actual array?