The issue was that you used global instead of storage (ie. the old 1.1 naming), and not any issue with the data structure itself. Sorry, could have told you that before - thought the crash message was clear enough...
I'm not exactly sure why the migrations were running - perhaps I didn't actually save the game with the previous version? I'm pretty sure migrations do run once when adding a mod to a save, even when the older versions were never actually installed (after all, migrations can also be used to migrate from other mods). The version numbers of the migration scripts don't matter - each save just remembers the names of the migrations that were already run.