I hit this on about 4.8 when I was doing my original attachment of weapon to FPS player, then I hit it again just a couple of weeks ago when attaching a “shadow” weapon to the third person shadow generating mesh. The symptoms are, after AttachToComponent, the weapon appears to be in the right position, then the player walks away and the weapon stays there.
The original issue was due to having a DefaultSceneRoot as I put in the answers. That was not what caused the issue with the shadow mesh I was attaching. Unfortunately my latest example of the problem was all done in C++ so that won’t help you and I just messed with it until I got it working (don’t remember for sure), but the issue was the snapto enum I was using (I think). Since you don’t specify that on the Blueprint version of AttachToComponent, it’s not the same. On the Blueprint version I am using for the base weapon, it’s using “Snap to Target” for both Location and Rotation rules, and Keep Relative for the Scale rule, then “Weld Simulated” is ticked. I also have a “Set Collision Enabled” set to No Collision just prior to doing the AttachToComponent.
It might be useful for one of you to post not only the component list/order but also the blueprint blocks you are using to perform the attachment. One other issue is that attachment changed recently so there are different functions depending on version of UE4.