If a source pixel matches the destination nodata, it is considered nodata, even if it was not in the source dataset. This happens only for the byte datatype, due to the byte lookup table optimization that is trying to do too many things (should just be a quick lookup of which data is nodata and which is not, but instead it tries to also carry the output value for each input pixel).
If a source pixel matches the destination nodata, it is considered nodata, even if it was not in the source dataset. This happens only for the byte datatype, due to the byte lookup table optimization that is trying to do too many things (should just be a quick lookup of which data is nodata and which is not, but instead it tries to also carry the output value for each input pixel).