When you are parked on the airfield and you set QNH it will always correctly give you the airport elevation.

Because it uses QFE at the station it already corrects for any temperature or pressure deviations, it only has to be corrected for the pressure variation due to the elevation.

If it was only correct at ISA your airport elevation would constantly vary.

That is the advantage of QNH.

However if you are not at the airport elevation and the temperature and pressure is not ISA then you will have an error above or below the airport elevation.