I believe the answer is given in FAQ - How is the elevation data calculated?
"So what we do is that we interpolate between the 4 closests values to get a weighted average for the geocache location. In an area which is very hilly, like mountains, this will give a quite big fail factor and almost always a too low value."
The API calls you gave are presumably giving a single elevation value. Project-GC uses the four closest with a weighted average. The FAQ states that in mountainous regions this usually gives lower values than the actual elevation.