You might need to explicitly set the host header on the clone instance. Otherwise you are just copying the original request's host header value across to the clone.
i.e. add the following line to the end of your Clone method:
clone.Headers.Host = new Uri(newUri).Authority;
Also, depending on what you are trying to achieve here, you may also need to handle other issues like cookie domains on the request not matching the new domain you are forwarding to as well as setting the correct domain on any response cookies that are returned.