The Arduino sketch upload over USB now works reliably. As it turns out, the bootloader size defined for thr SAM R21 needed to be 0x2000ul, not 0x1000ul. The funny thing is - it's a setting in the BOSSA utility I had originally contributed a while back!
I've patched my fork of BOSSA (arduino branch) and submitted a pull request to the official BOSSA repo.
In other news, I've switched the 32.768KHz clock reference to the internal OSCULP32K clock allowing for stable DFLL48 locked loop startup, 100% of the time.