The problem is, it can only stop the request: it can't redirect it as the target has already been set.

I have looked at similar addons but I am yet to find a solution. I'm pretty sure HTTPS Everywhere must use some kind of redirect of requests before they load but it is too complicated for me to understand how it does it!