LocalizedText is populated in both FrontEndActions and InGameActions phase. FrontEndActions is executed after initialization of the LocalizationDatabase when you boot up the game, while InGameActions is executed each time you are loading a game to play. If you don't define LoadOrder then it appears to be a bit random which things happen and when.
Also, I think all the other tables in LocalizationDatabase are locked after initial bootup initialization. I might be wrong on this, only analyzing this based on what seems to work with <UpdateText /> and what doesn't.