The filename of the tiddler is actually just the URI encoded title of the tiddler. This is done to guarantee that the filename will be valid regardless of what characters are present in the tiddler title. The extra encoding comes when serialising the URI to text, which involves URI encoding it.
In other words, if the file on the server were called “alpha beta” (with a space in between) then the URI would include “alpha%20beta”. In our case, the filename is already URI encoded which gives us the doubling.
Makes sense - thanks Jeremy. That explains why titles with forward slashes get similarly escaped (so they can exist with reasonable names in the filesystem).