TL;DR Switching to 5.1 removed this problem completely.
The plot thickens: It seems that this tends to happen every time I load a level that had not been loaded yet, with assets that had not been loaded yet ONLY after my PC has been hard reset (about to put some debug breaks and reset again*). If I reload Unreal in the same Windows session the problem manifests far more rarely.
Could this be some kind of issue that the level is considered fully loaded before the mesh assets and those static actors are incorrectly marked as “moved” because their static mesh data was changed after being loaded asynchronously?
Edit: Tested the hard-reset theory 3 times in a row and 3 times I get these messages. I tested a fourth with debug breaks in a blueprint that I know causes me problems in these cases and Unreal actually crashed, probably worth testing this again.
Could it be that the assets stay in memory and instantly restarting Unreal without resetting windows just keeps those assets in memory and that’s why I don’t get this error consistently in single Windows session?
Edit 2: It seems that any time you put a debug break in a blueprint’s Begin Play (before any delays, no windows hard-reset necessary), when a level is synchronously loaded via blueprint Unreal will crash when that breakpoint is hit. I’ve tested this on multiple blueprints in two different projects. Not sure if it’s related to my original problem but it wouldn’t surprise me.
I’m going to test both of these problems on 5.1, hopefully they’re fixed there.
FINAL EDIT: Can’t upgrade this project to 5.1, it relies deeply on plugins not compiled for 5.1, will have to wait for 5.1 release and plugin’s update. Might try to make another project with a minimal example of this issue.