I noticed this immediately as well with iceboot 0.4 and macOS 10.13, I even set up an STM32 debugging environment with SWD in order to track it down and see if I could fix it, assuming it was a firmware issue.
Then something interesting happened, I updated macOS to 10.14 and it completely stopped happening, I can no longer reproduce it at all. Uploads now work flawlessly every time.
I was working on adding full support for the BlackIce-II boards to PlatformIO's very limited lattice ice40 platform package, both for nonvolatile upload as well as DFU mode flashing, and that little read/write quirk was causing tons of problems before magically going away. Hopefully it really was a bug in macOS that has now been fixed.