I think this is definitely a regression from a user expectation point of view, for no clear reason.
If a user provides a default_project_id, I can't imagine a circumstance where they would want no permission with that project.
I do get that keystone wants lots of flexibility with roles, but this is definitely a backwards step in the basic use case, and puts more logic client side to create the correct user perceived results.
I think this is definitely a regression from a user expectation point of view, for no clear reason.
If a user provides a default_project_id, I can't imagine a circumstance where they would want no permission with that project.
I do get that keystone wants lots of flexibility with roles, but this is definitely a backwards step in the basic use case, and puts more logic client side to create the correct user perceived results.