What's the bug? That it doesn't seem to save and loads default data? Because you have two on start of layout event it might load the local storage data into Dictionary then overwrite it with Dictionary.json, the second event.
Maybe you should be requesting Dictionary.json only if local storage item is missing, not on start of layout. Item missing means player never saved so load default json, item exists means player saved so load local storage.