This explains why so many have trouble migrating Elgg

If dataroot changes, file operations on stored ElggFile objects will fail because there's a stored reference to the old dataroot (#9191).

The thumbnails work because those use temporarily ElggFiles that aren't stored in the DB, but when you go to download the file, it will fail.