Buenas a todos.
Esta es una situación que se da muy frecuentemente y no es identificada, hasta que tu Danilo haces la consulta.
Voy a tratar de explicar lo que sucede:
1. Si no me equivoco hizo el calculo del área por medio de $area en QGIS y la comparó con el dato de ArcGIS y luego con el de PostGIS.
2. Si eso así, tengo que decir que todo esta correcto, lo que hay que entender es la forma de cálculo de cada función aplicada. Me explico. ArcGIS, PostGIS y AutoCAD (para poner algunos ejemplos) realizan el calculo por defecto sobre el plano y la función de QGIS $area toma tanto la configuración del elipsoide del proyecto actual como la configuración de la unidad de área.
Por ejemplo, si se ha establecido un elipsoide para el proyecto, entonces el área calculada será elipsoidal (referida al elipsoide), y si no se ha configurado un elipsoide, el área calculada será planimétrica.
Este es un error constante en los vídeos que circulan en youtube, donde toman el resultado del la función $area como plana, cuando no es cierto.
3. Dicho esto, para que puedas comparar los resultados del área entre distintos software y te sea coherente tendrás que aplicar la función area($geometry). Esta calcula el área sobre el plano.
4. En resumen ambas funciones son correctas, pero debes usarlas según sea el caso que corresponda.
PD: Se debe tener cuidado con las funciones de distancia también.
Espero haber podido explicarme bien.
Saludos.
Puedes visitar www.inteligenciageoespacial.com donde pronto colgaremos respuestas a preguntas frecuentes como esta.