That comma is inserted automatically by makeindex, so you can't (in an elegant way) put an \efill (which, for the record, is \hfill\nopagebreak) after the comma in the TeX side of the thing.
I'll give you a few possible solutions, depending on exactly how you want to achieve that.
If you want that in all entries (correct way):
You have to create a custom ...
Combining the answer of Phelype Oleinik and that of David Carlisle and their helpful comments I was able to do the following.
The first block sets the preamble universally.
\jobname (Version \fileversion - \filedate) \...
I don't know if this answer will be useful for because they deviate from the path you chose. But, if I understood your question correctly, I think this is easier than replacing text inside a macro. This is how I set things up in a class I wrote.
First some preliminaries. Nothing interesting here: