Could you please clarify what you mean by "User"?
If you are referring to the user who created the project, you can store the owner. You will find this in the entity properties under the System Attributes section, and then you can use the Owner token in the XPath.
If you mean something else by "User," you can add an association between the Project entity and the Account entity from the Administration module (which is a generalization of the User entity).
1. How does it work?
yes it is similar to Where clause in Database (with SQL) and it implies that constraint to filter the data with the name of the current user.
2. Should I use the XPath constraint in the Microflow or on the Page?
Xpath constraint can be used in a page in ListView/DataGrid or you can use inside a retireve activity in Microflow - both give same output.
3. any better way?
instead of adding name attribute, use an association between Project and USer entity and use the same.