How to I prevent WordPress from switching external HTTP links to HTTPS?

I suspect a bad plugin, but you didn’t provide enough information. But it could be a directive in your htaccess file that is not correct.

Take a look at this question/answer for a comprehensive discussion about it: https://stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite .

If that doesn’t help, provide more information about plugins and your htaccess file contents.