I'm guessing even if p_scheme is set to “none” or "n/a" is still ‘elses’ to “Basic”?
I've created my own ‘universal’ authorization process using apex_web_service.set_request_headers as some of the APIs i'm using pass their key in using query params (rubbish I know - is what it is)
But for those APIs i'm integrating that DO use Basic auth, when it goes through my ‘universal’ auth process I think apex_web_service is overwriting the ‘Basic’ auth headers (regardless of the p_scheme value) as i'm not passing these in to apex_web_service.make_rest_request via p_username or p_password.