Short answer is that this is due to the way replace is done internally with scope replace. RegReplace will actually replace the entire scope with all your matches replaced proper, which is why it highlights the entire scope. It doesn't return individual regions for each replace of a scope find. So I am actually getting a region returned for the entire scope instead of individual regions. I would have to refactor the code to possibly preform a different kind of search on the scope buffer that gives me individual regions and replace buffers. While this isn't a bug per se, I understand that individual regions would be the preferred result.
On a side note, I did find an unrelated bug. If I disable literal, the command fails. Looks like I was trying to recompile an already compiled pattern when doing non-literal scope replacements . I'll at least have that bug fixed in the next version.
As for the highlight resolution of scope searches, I'll have to look into a different way of parsing scope buffers to return regions for each individual replace. I don't know when I'll have this work completed, but I will probably rush a bug fix to get the more critical bug listed above.