As far as I can see, a blueprint with a level instance in it doesn’t load the level when it is spawned.
I fixed it by having a totally empty map, and putting this in the level BP
Then in the train BP
Very similar to what you had, except the blueprint has to manage the loading and unload of the instance, because apparently it doesn’t happen correctly when packaged.