I would suggest using local transform using SetRelativeLocation or AddRelativeLocation. It should behave the same and can be visualized inside blueprints too.
// Set relative location and scale instead of world
smc->SetRelativeLocation(FVector(0, PillarGap * i, 0));
smc->SetRelativeScale3D(FVector(1, 1, FMath::RandRange(PillarHeightMin, PillarHeightMax)));