You can edit any of the properties of a node in a GUI template instance and it behaves as expected: only the instance is changed, the prototype template stays the same. However, if you add children to the template nodes, those children are also added to the prototype. This is a real problem for more complex GUIs. It means you can’t make a template for a scroll box (for one common example), since of course you’ll want to add different text, buttons etc., inside each scroll box instance.
Likewise for any other sort of container. If you want to set up some complicated panel frame with multiple nodes (but variable content inside it), you can’t use a template, you have to create it from scratch every time (or copy an existing one), which is very cumbersome.