Every UObject has it’s Outer object (besides UPackage’s). You can get Outer from BaseCharacterStats object (GetOuter()), so they’re both inside the same hierarchy. However in such case you need to make sure, the name will be unique.
Passing nullptr as second character, your making special transient package it’s outer.