BGE: Add animated object from empty object that plays at wrong position
I replicated your scene based on your description. If you look closely, the cube spawns in the correct location for one frame, and then the animation forces it back because it is being animated in global space.

In layer 2, add a new empty at the center of the cube. Let's call this empty CubeAnchor. Now parent the cube to the CubeAnchor. This will make the cube animate in the CubeAnchor's local coordinate system.

Lastly, in layer 1 on your empty spawner, Spawn the CubeAnchor instead of the cube. The CubeAnchor's children will spawn with it, including your animated cube.