Can you specify what is not working? Describe the actual results and the expected results.
From what I can guess based on your code, it looks like you have the functions mixed up. I would expect
on-iron-localstorage-load-empty="makeModifications"
to be the following instead
on-iron-localstorage-load-empty="initializeDefaultCartoon"
That way when local storage is empty it would call initializeDefaultCartoon after the ready() lifecycle callback. Then you can call makeModifications later, and the value should be persisted.
-kyle (Random Polymer User)