CRC calculations by hand do not match online calculator
You just have a false assumption.
Sending in a byte that matches the polynomial will not result into 0.
You might confuse that with the fact that calculating CRC over data which is appended with the CRC of the data, that will result into 0, which is a handy property - You don't have to calculate CRC and then compare if the CRC calculated matches the received CRC, you can calculate CRC over the data and received CRC and result is 0 if it matches.
Sending in a byte that matches what is in the CRC shift register will XOR out the shift register to 0, and then when the polynomial is applied to the zeroed shift register, it will also result into zero CRC value.
So if you use the Sunshine CRC calculator, and use the default settings with 8-bit polynomial of 0x07, and calculate a CRC of single byte of 0, the result is 0, which means that the initial CRC value was also 0, because a 0 stays as 0.
If you feed in single byte of 0x01, which only has the LSB bit on, you get the polynomial 0x07 out as the result. This confirms that the LSB is the last bit calculated, so data is sent in MSB first.
It also means if you send in data of say 0x01 0x07, the resulting CRC is 0.
This confirms that the default settings are so that initial CRC is 0, data is sent in MSB first, and the final XOR of the result is also 0.