I think I may have found a bug hopefully you'll be able to repro.
After some debugging I really didnt understand the output of the serial port monitor of a serial port I had wired to rx1/tx1 , it just wasnt what I was trying to print to it.
My variable was set as such :
_serial = &Serial1;
and rx1 was connected to the tx of the serial port and tx1 to rx of the serial port.
After some debugging and because I was getting desperate I just switched to _serial = &Serial2 and rx2 and tx2 on the arduino and now everything works as expected.
I can send you the whole code / sim if you need but that really seems to be all there is to it.