Static mesh subcomponent in code, spawns at world center when placed

Did you set the Static Mesh Component as the Root Component?

RootComponent = PickupMeshComponent;

You can then set other components to the root as usual