When the text is changed inside of the PreRender event, the new text is not rendered until any property is changed, when the text property is changed, it renders the value of the text property before it was changed. This only happens when the TextLabel is inside of a CanvasGroup, and also it only seems to happen with TextLabels.
In the following video I demonstrated the bug; the left TextLabel is inside of CanvasGroup, and the right TextLabel is inside of the ScreenGui, and the black frame near the CanvasGroup TextLabel is also inside of the CanvasGroup, but it changes color right after the BackgroundColor3 changes unlike the text property. I’ve also opened the properties window to show that the text property does actually change, it just doesn’t render.
Here’s a repro file, press E to count up and Q to count down
RobloxCanvasGroupTextLabelBug.rbxl (63.2 KB)