drupal_goto forcing redirects to https when external link is http
drupal_goto() takes a $path and $options which in turn sends them to url().
As you can see in the docs  for url()

https://api.drupal.org/api/drupal/includes%21common.inc/function/url/7


  'https': Whether this URL should point to a secure location. If not
  defined, the current scheme is used, so the user stays on HTTP or
  HTTPS respectively. TRUE enforces HTTPS and FALSE enforces HTTP, but
  HTTPS can only be enforced when the variable 'https' is set to TRUE.


so in your case the redirects will be https by default, which means you will have to set the them individually each time to use only http e.g.

drupal_goto($path, array("external" =&gt; TRUE, "https" =&gt; FALSE));