I took this pic of the altimeter and screenshot recently to show exactly this difference. Notice the indicated altitude is 19,000, while the GPS altitude is 20,328 - a 1,328 ft difference!
This has nothing to do with GPS accuracy or altimeter accuracy. It has everything to do with all the assumptions we make regarding the atmosphere. We assume standard temperatures, standard lapse rates, etc., when the atmosphere is rarely standard. And the error increases with altitude above the reporting station. But as long as we're all using the same altimeter setting, it doesn't matter.
Now, this was in Class A, so my altimeter was set to 29.92. However, the actual altimeter setting was not far off from that - 29.94 if I remember correctly.
View attachment 77828