the short answer: No it does not.
the long answer:
Both an increase in the temperature and a decrease in the atmospheric pressure, and, to a much lesser degree, an increase in the humidity, will cause an increase in the density altitude.
When you take off the barometric altitude sensor will take a measurement of the outside air and use that as reference. Then during the flight the drone will compare the current outside air pressure to the reading it took when taking off. based on this it will calculate the altitude and display it. So if the weather (temp/pressure/humidity) changes, the drone is still comparing to the old reading and therefore displays a 'wrong' value.
Because the drone is using the air pressure to determine its altitude it can never determine a new reference (i.e. the drone does not know the difference between the drone going up/down and the weather changing. Therefore it cannot readjust until you actually land and take off again with a new reference.
for example:
- you take off and the sensor reads 1013hPa, the drone will set 1013.25 hPa = 0ft.
- you fly around a bit and the weather (temp/pressure/humidity) changes.
- the pressure on the ground has now changed from 1013.25 to 1012.25.
- now you come back to land, your drone does not know the pressure changed.
- it is still comparing to 1013.25. It will show 100ft but you are actually only 73ft.
- When landed it wil compare 1012.25 to the 1013.25 reference and still show 27 ft even though you are on the ground.
As a rule of thumb for flying you can take 27ft per 1 hPa.
This is the main reason drones have a ultrasonic sensor at the bottom. If it relied on the barometric pressure sensor it would be unable to auto-land safely. The ultrasonic sensors are used to detect the ground and avoid slamming into the ground or shutting off the motors while still in the air, regardless of the altitude reading from the barometric sensor.
It is a very interesting topic and if you would like to know more I can suggest/recoment to look up some PPL (Private Pilot Licence) study material on the subject (sections on QNE, QNH).
I have a PPL. There are special rules/procedures to avoid the same problems. During a 2 hour flight to an airport 200-300km away the difference could be several hundred feet or more. The solution for general aviation comes down to this: Before takeoff I set my reference (set current altitude to known airport altitude). Then while cruising above a transition altitude everyone will be on 1013.25. This will make sure that when a controller tells me to fly at 9000ft and another plane to fly at 8500ft that there will be 500ft between us and we don't crash, regardless of where we took of or what the weather is. When I decent to my destination I will get the local altimeter setting (new reference) through the radio (from ATIS or tower). When I set that new reference I know my altitude above the runway and I know I will touch down at 0ft. unfortunately the drone cannot call the ground to get an update because there is no new reference altitude available.
One way this could be solved would be to add a barometric pressure sensor in the remote. the sensor in the remote could then be used as the reference and it's value can be transmitted to the drone together with the other commands. the drone can use this as a variable reference pressure. with this the altitude of the controller will always be 0ft regardless of weather and if you walk up a hill while flying your new position on the hill will be 0ft.
The added value is not very high, but I could see this becoming a function to be implemented in higher end drones and slowly trickle down to become standard on most consumer camera drones. DJI can contact me if they want to hire me and use this idea