Microcontroller heating up ENV Shield

I have a home sensor project on the go and have recently upgraded to the MKR WiFi101 with a MKR ENV Shield for scaled prototyping. Gotten all my code working on it now and have started to see the readings in comparison to my older ESP8266 model. What I've noticed is that the MKR WiFi1010 runs a lot hotter than the ESP8266 and with the shield being well... a shield, this is resulting in the readings being greatly thrown off. It is around 8-10C warmer than my other sensors and general thermostat readings.

My question is, has anyone else run into similar issues of interference with heat (and by extension humidity) readings with the microcontroller. And is there a way to compensate for the difference using maybe the internal temperature measurements of the ESP32?

Alternatively, is there a way to cool down the MKR WiFi1010 so that it doesn't interfere?

If you can put the ATSAMD21 microcontroller and the NINA module on the MKR WiFi 1010 to sleep most of the time and then take the readings immediately after it wakes up, that should fix the problem.

Another solution would be to move the the sensors far enough away from the MKR WiFi 1010 that its heat doesn't affect them. Even just an extra row or two of stackable headers would probably help a lot. Arduino sells them here:

If you do that, you might orient the board so that the openings between the board and the shield are at the top and bottom. Convection will cause the heat to rise up through the gap instead of sitting trapped under the shield.

I would think it would be pretty tricky to get good accuracy through compensation.