A user object is just a Data object and when someone/somehow modifies it you need to notify each client using Messaging Service to get up-to-date data or you can use our RealTime feature:
on the client add listeners
when the data is changed on the server it sends an event to each client and it runs listeners
The getCurrentUser() method has an optional boolean argument. When set to true, it will force a refresh of the current user object from the server. Otherwise, it will return the object already available on the client side.