Well, this definitely seems to be a Meraki issue. Or maybe it's an Apple DEP issue? I'm not sure...
Here's what I've done. I have one iPad that has a DEP Profile that will let me connect to Apple Configurator 2. (Long story on how that happened, unrelated to this problem.)
Anyway, on that one iPad, because I can connect to Apple Configurator 2 (tired of typing that, let's just call it AC2) I can install version 1.3.3 of my app (which won't run) and then push the .mobileprovision file from the updated 1.3.9 version of the app, and all of a sudden the old 1.3.3 version *will* run. At which point I can create some data in there and use it for testing and whatnot... Then I can drag-and-drop the 1.3.9 version of the app, which installs, and does not overwrite the data. (So clearly it's the pushing of the app from Meraki that is overwriting the data somehow.)
So what I'm thinking is, if I can get our other iPads to let me connect them to AC2, I can copy the new .mobileprovision file over and run the "expired" 1.3.3 app and upload the data to our servers. Then it won't matter if Meraki overwrites our data...
I tried to turn one of our "cannot connect to AC2" iPads into a "good" one by pushing the proper DEP profile to it and then factory-resetting it -- and it will connect to AC2 then. BUT, if I restore the iCloud backup so I can get our data back, it reverts to the old DEP profile somehow... So I cannot get those iPads to connect to AC2 to let me install the appropriate .moboleprovision profile file...
So we're back to trying to figure out why pushing the app from Meraki overwrites the data, but pushing the app from AC2 does not...
I either need to figure out how to get Meraki not to overwrite the data, or figure out how to get DEP setup to allow AC2 to work after I've restore the iCloud backup.
Thanks for any help you can give.