Thanks @roadmr! I’m doing some more tests and will add any further info to the bug page if anything different emerges. Though for the time being what I said above appears to be the case. Either way, definitely appears to be a snapd issue rather than a store back-end issue.
In the meantime, if anyone is in a situation like mine where a device’s connection is so poor that it can’t complete a snap download, the following works nicely - assuming you have (at least intermittent) shell access.
Make a shell script with the following, where snap-name is the name of the snap:
#!/bin/bash
until snap download snap-name; do
echo Download disrupted, resuming in 5 seconds...
sleep 5
done
Run this with nohup so it keeps going if your shell session is interrupted. The loop will keep trying to download (and resume any interrupted downloads) until the full snap+assert files have been downloaded. At that point you can log back in and snap ack
+snap install
the downloaded files.