I think this subject has been discussed in your other threads. Again, adding sensitive data like a userId in a URL is a poor security design choice. The standard approach is caching user data an encrypted token within an authentication cookie. The authentication cookie middleware reads the token and creates a user principal for the duration of the request. The user data is fetched using the standard pattern...
User.Identity.Name
The database tables must be designed with the user's Id on records that only the user can view.
What I am thinking now is to keep the INT column 'UserId_Int' on AspNetUsers table and use a hash/salt for the ID on the url: Is this approach something weird ?
By definition hashing is a one way operation. Therefore it is not possible to convert 29sla1 back to the original value. Use .NET cryptography libraries to encrypt sensitive data exposed to the user. Better yet, do not expose sensitive data to the user especially in the URL.
If bad, what approach could I use instead ?
Following openly published pattern and practices is always the best approach.