I also found out that the two files inside the 1.99_app.zip have version 1.98. It's like somehow it might have been built by hand. I cloned the espruino repository, checked out tag for version 1.99 and tried to build the zip with this:
make clean && DFU_UPDATE_BUILD=1 BOARD=THINGY52 RELEASE=1 make
but I've got a zip file that, like 2.04, doesn't work either. However, just to verify that I hadn't reached an invalid state, I retried the 1.99_app.zip from the espruino's download section and it worked like a charm. Any ideas?