You can detect if an Actor was placed directly into a level in editor by using AActor::bNetStartup.

Not sure how reliable it is since it’s not strictly meant for this purpose, but it was suggested and seems to work.