It looks like 2.0 renamed 'global' to 'storage'. How did this ever work? Github is rate limiting me, so I can't see if you were doing some magic to make 'global' exist again. Apologies, it has been years since I coded Lua so I may be off here.
https://lua-api.factorio.com/latest/auxiliary/storage.html
Interesting, i had not seen that changelog. That could certainly explain the inconsistent behavior with "global" being nil.
As for "magic", nothing out of the ordinary then what was done in 1.1 and earlier. My guess is Factorio was treating Global calls as a normal script scoped variable instead of being actual global scope and serialized.
This will require all of the calls to Global to be updated to Storage. Presuming the behavior is exactly the same and its just a rename. Kind of a silly thing to do to modders so far in the game's lifecycle...
I'll go through the code and make the changes. I suggest not using the mod in a Dedicated server until then.