What I stated was wrong.
It looks like the bossac.exe that I orginally linked to does support the SAMD21G15B: https://forum.arduino.cc/t/lower-memory-samd21-variant/890009/37.
This also works with my custom SAMD21G18A board.
I think it's worth going back to that version. From your upload output, it looks like it has something to do with the microcontroller's memory.