Difference between classes and object instances

You can acces without spawning using abilitiesArray[0].GetDefaultObject()->CastAbility(); or:

TObjectPtr<UAbility> AbilityCDO = abilitiesArray[0].GetDefaultObject();

AbilityCDO->CastAbility();

More info:

@rokenrock covered the rest.