On the Roblox Wiki page for ReplicatedFirst, it says a GUI can be loaded "before anything else". How is this done? LocalScripts do not seem to run in the ReplicatedFirst Class, and just placing a ScreenGUI in ReplicatedFirst no effect (In test server mode). It seems that the GUI couldn't be loaded before a script inserted it into the player's StarterGUI, and by then, it would be too late.
You still put the LocalScript inside of PlayerGui, ReplicatedFirst is used to ensure that it's contents are replicated, well, first, even before the LocalScript.
This has two benefits. First, anything in the service you will always be able to just access, rather than using FindFirstChild. Second, the obvious, you don't have to wait for the objects to appear to use yen, they're always there first.
This is what I was looking for: http://wiki.roblox.com/index.php?title=Custom_loading_screen