The actual reason why the calculation wasn't working is since you return a Point object when the geometry is in fact a PointGeometry.object. See the field calculator expression below:
So you create a point object with the new X and Y and then use the point object to create the point geometry.. What you did in your second example is providing the point geometry to the function and modify the point X and Y properties using the first part, and returning the point geometry object again
CC Jayanta Poddar , it is possible to modify the geometry using the field calculator as the result below shows. The red dots were moved with coordinates from my X and Y fields: