All Guis in StarterGui are replicated into every player’s PlayerGui, which is also why code in Server scripts does not run when parented to an object in StarterGui.
ServerStorage is another container, used for storage of anything you want not to be replicated to a client, storing instances here rather than game.Lighting reduces network traffic too.
Edit:
A regular/server script somewhere in StarterGui won’t work, but a local script will.
No, nothing would happen. You would have to reference to the PlayerGui folder under the player. Read this thread by @ChipioIndustries for more information about this: