In 4.20.5, the path to the file that defines the user<>role relation is my-project/node_modules/@strapi/plugin-users-permissions/server/content-types/permission/index.js. This file comes as a dependency, i.e. developers are not supposed to change it in order to enable multiple roles for end users.
It appears there simply is no concept of multiple custom roles for end users. One user can only have up to one custom role.