The use-case for credentials domains is to provide a way for the user to provide information about the services with which the credentials are expected to work.
Credential domains are intended to help select correct credentials for each services.
Credential domains are not intended to prevent credentials from being used against the wrong services.
In some cases, the domain requirements of a credential cannot be determined, such as when using a credentials parameter or when using a plugin that has not fully implemented the recommendations of the consumer guide.
In order to ensure that users can actually select the required credentials in these cases, the Credentials API needs to return credentials from all domains, which is why we use Excluding credentials from domains that do not match.
Because of the above: Credential domains are not intended to restrict access to credentials.