It might be useful to examine the exact series for requests and responses that are taking place on the client side. That can provide clues about what redirects the server may be issuing, especially if there is some sort of chain involved. You'll find common browser plugins for this like "Live HTTP Headers" (firefox, chrome, etc.). When using these tools its helpful to tell them to exclude image/css/js files as those can really make the results difficult to scan.
On the server-side, there are a few modules to check:
- Global Redirect is certainly a possible variable. You may want to disable it just long enough to isolate/eliminate it as a factor.
- You'll want to see if you have the "Redirect" module installed (it's a common addition), and if so check it's configured redirect patterns.
- Check if you have the core "Contact" module enabled as I believe this can introduce a menu entry for the /contact path that could be conflicting in a strange way.
The other key suspect is of course the web server itself. If you have any custom mod_rewrite rules in place, such as in your .htaccess file, you'll want to double-check those. I've also seen strange cases, especially on shared hosting environments, where the hosting provider issues it's own redirects on special paths, like /contact, that you may not have control over. That's probably an unlikely explanation, but it might not hurt to try changing your webform page's alias to something other than /contact to see if any behavior changes.