I mean... so the actual issue here is that you're allowed to do that, not what happens on grouping. You've essentially discovered undefined behavior - it happens to work, until we do the grouping operation and recreate the components, at which point your manually injected bindings happen to disappear.
What I would do to accomplish the same goal, but faster (for you as a developer) is use a script to recursively walk the component tree and change every label component's font at once.
Starting from the code I posted here:
You just need a different filter function:
from com.inductiveautomation.factorypmi.application.components import PMILabel
isLabel = lambda component: isinstance(component, PMILabel)
And then your modification is as simple as setting the font:
from java.awt import Font
win = system.gui.getWindow("yourWindow")
for label in filter(isLabel, getComponents(win)):
label.font = Font("name", Font.PLAIN, 18)