The behavior is related to the user setting "havePropertiesChanged = true" in the OnPreRenderText callback.
Since this callback is invoked late in the text update cycle and as a result of "havePropertiesChanged" being set to true in the first place, setting it back to true while already updating the text causes the issue.
There are other issues with the user script that result in unnecessary dirtying of the text. This information should have been communicated in the ticket itself.