The problem is with the CRS of the base layer of my project, Web-Mercator EPSG:3857. This CRS has meter as unit. This means that the point coordinates of my feature are meters, for the x value the distance from the Greenwich Meridian **measured along the equator**, and for the y value the distance along the local meridian measured from the equator. This implies that these coordinates should not be used for distance measurements, unless you are in places like Equador, Cameroon or Borneo. In the USA, or Europe, you will find, that the y coordinate diff is precise, but the x coordinate diff is wildly too long. It should at least be multiplied by the cosine of the local latitude to have any reasonable validity. This is pretty exactly what the "ellipsoid" distance calculates. IMHO, the QGS Python documentation should point this out more clearly in the discussions about the distance calculator QgsDistanceArea. In fact, the "ellipsoid" calculation transforms the input points to lon,lat coordinates, calculates the great-circle curve between them, and measures that curve in terms of the ellipsoid, in display units (meters in this case). I tried to clarify this in more detail to explain the base problem, which is why the "cartesian" distance of my example is a full mile longer than the "ellipsoid" distance. I realise that this answer is a paraphrase of user30184's comment above.