True altitude isn't the same as indicated altitude; that much any student pilot knows.
In advanced systems, the air data computer considers temperature, temperature and airspeed and other factors when applying corrections to instrument indications, engine parameters, etc.
QNH is perfectly adequate and appropriate for use in light airplanes, and it works just fine.