I tried showing
$area of polygons in QGIS, and it always showed planimetric square degrees instead of metric units. No matter what I set in project general settings, the value remained the same.
QGIS version is 3.4.3, layer CRS is 4326, and I tried different CRS in the project, which made no difference.
I calculated a new field with the formula:
$area / 10000 (to get hectares, which is more readable). And looking it up in Wikipedia, the city area is close to that and is rather correct.
So, you can get
$area but have to use field calculator. Is there a workaround to make
$<function> work correctly in labels?
Following suggestions by @MAP: the derived tab in object properties is always correct...
...But the reason I'm asking is that the function description promises to work this way too:
area(geometry) is always planimetric.