Internet of Things (IoT) is a romantic marketing term created in recent 2-3 years.
There is no criteria nor standards on the IoTs. Some will rebrand a product existed for many years (way before IoT days)
as IoT to "catch the wave".
However, what I can say is lots of IoTs are cheap and sub-standard in many ways.
Cheap and quality go opposite ways.
Omega is not really a solution if you plan using it with other power source than USB adapter.
I would recommend going for the AVRs and if you need for example Wi-Fi, you might consider connecting AVR to ESP8266 and so on.
Properly prepared AVR-ESP stack can be ran on standard batteries for many weeks, even months (of course it strictly depends on your project).
If you look at the topology of the Adafruit design, the power to run 5v loads has to come from first being regulated down to a plausible battery voltage, and then boosted back up. That particular board is made with components that try to support a lot of current through that path, and warns that the upstream supply needs to be quite capable to match what the board can do.
But that kind of regulate and re-boots topology, if done with lower rated components, could easily explain the kind of issues seen here, in that it can impose a bottleneck on how much power can get from the USB input jack to the USB output one. We still don't know what is on the powerdock and how it is configured, but it's not hard to imagine limitations there.
@Chris-Stratton I'm not sure it is power but not really sure how I can test that? Currently it is drawing the power and serial via my MacBook Pro's USB port, if I power via a PSU I lose my serial connection to trigger the upgrade at all.
I did also try ensuring only the upgrade file was on the stick, it's very odd that the 4GB isn't working but the 128GB is. I am going to try and find a major brand smaller stick, Sandisk or whatever, just in case the stick itself is oddly configured/designed.
Any suggestions for how to test things are appreciated!