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.