Sensor float variable convert to SPI char buffer

tmp_buf[0] // is the first char?

Yes.

dtostrf(temp, 1, 2, tmp_buf);

So, two characters after the decimal point plus the decimal point, for a total of not less that one character. No problem.