If you have an ObjectValue inside of StarterGui pointing to an object also in StarterGui, the Value is not moved over to the PlayerGui copy at run time.
StarterGui.ScreenGui.Value.Value is StarterGui.ScreenGui2
PlayerGui.ScreenGui1.Value.Value is still equal to StarterGui.ScreenGui2, not PlayerGui.ScreenGui2 as expected.
I have used this method in the past without issues - maybe the relatively recent UI backend changes are the cause of this?
Here is a repro if needed:
StarterGui ObjectValue Bug.rbxl (13.4 KB)