The 8 bit transfer works as far as the expected data appearing in the MOSI waveform (purple in the capture), but yes it does fail in the sense that it does not block the CS from going high.
It does seem like it could be a compiler optimization issue, but this is an area I've never explored in...