Sorry to break it to you but In 99.9% of cases like this (including the ref vid), the train is stationary and the background is scrolling… This makes pretty much all other aspects of the game much easier to code, especially the movement.
And knowing how the movement component works for characters in UE4, that’s the route I’d take in order to avoid rewriting core logic. Have a look here for a crude example:
https://answers.unrealengine.com/questions/1014733/endless-world.html
There might be better examples of scrolling backgrounds out there, though. But that’s the general idea.