There is potentially a bug / limitation (QGIS 3.4.5).
In theory, a date should be saved as a date - not string - and formatted on display. This format should be set at the column level, not at the cell (value) level, so outside of the field calculator expression.
One would open the layer property, find the field of interest and set the format of the Widget Display
only (thanks to @Mapos and @Kazuhito for this major detail!)
Let's note that there is potentially a bug / limitation (QGIS 3.4.5) if you also set the field format
as it works for a date being edited and in Form View, but NOT when displaying all values in the attribute table...