I reported it as a bug* that a module was using drupal_goto to redirect the user to an external URL because another module that implemented hook_alter_drupal_goto was expecting only internal paths. I had originally thought the latter was at fault until I read the manual for drupal_goto:
Sends the user to a different Drupal page.
This issues an on-site HTTP redirect.
drupal_goto does work fine for external URLs so long as any modules implementing hook_alter_drupal_goto correctly handle it, so if that is expected use I think the documentation should make it clearer, e.g.
Sends the user to a different Drupal page or external URL.
This issues an HTTP redirect.