has been updated with photos of the new insulation, derivation of the model for the back surface, and measurements of natural convection.
In the first version of the electronics the plate and ambient temperature sensors had 3 times the variance of the back surface sensor. I also noticed that, in most of the runs, the ambient temperature would have an initial ramp up in the first 5 minutes.
The LM35CZ temperature sensor datasheet warns of self-heating for sensors not attached to heatsinks. So I added circuitry and modified the program to power on the sensor 2ms before it is read and turn it off after. Surprisingly, it didn't eliminate the ramp, but it reduced the variance to a level comparable with the back surface sensor!
I checked the other components and found that the MPXH6115A6U atmospheric pressure sensor dissipates 30mW (and has a long warm-up time in its specification). The LM35CZ was mounted next to the MPXH6115A6U on the same header; heat conduction through their leads was responsible for the warmup. I moved the LM35CZ off of the header and connected it with thin wires, which solved the problem.
I am still left with the mystery of why the LM35CZ in the plate has the large variance. If the thermal adhesive which fastens it in a hole in the aluminum plate is broken, is self-heating creating the variance? Disassembling the insulation to examine it may damage the insulation, requiring it to be replaced; so I will leave it as it is for now.
With the upward natural convection measurement looking reasonably consistent with the model, it is time to mount the plate in the wind tunnel.
When I rebuilt the electronics, I improved the sensitivity of the opto-interrupter. Its sensitivity is now high enough that it responds to reflection of the fan blade. This allows the led and phtotransistor to be on the same side of the fan, which simplifies mounting. The photo shows the blue board with the LED adjacent to the board with the phototransistor.