Since you are dealing with point data, the results of both expressions of
x($geometry) are identical. Same applied to
y($geometry). I tested the behavior of both expressions on my point grid data and I found that both them produced the same results as you can see below:
In the table above the coordinates in X and Y fields were calculated using the expressions
$y, respectively, whereas
y($geometry) were used to calculate the coordinates in X1 and Y1 fields, respectively.
As you can see, both produced the same results. For your reference I used QGIS 3.4.11-Madeira, and the CRS of the data is
WGS 84 / UTM zone 54N (
I am not sure why you got NULL results when you used
$y but successful results with
y($geometry), maybe something wrong happened in the QGIS project. My advice is to try loading the point data into a new QGIS project and try again.