In your stack trace, it appears to be failing when it gets the request token, via the call to OAuth1Template.fetchRequestToken(). At that point, the callback URL is the only thing passed in. So, either the OAuth1Template is misconfigured (because the TwitterConnectionFactory was given the wrong consumer key/secret) or the callback URL is bad.
I don't believe Twitter does anything with the callback URL at this point other than note it for future use--in fact, I've tested this with completely made-up URLs and it works fine. (I've even tested it with things that don't look like URLs, eg. "xxxxxx", and it still fetches a request token for me.) So, if I were guessing, I'd say something's not right about your TwitterConnectionFactory configuration and the consumer key/secret pair. If those are wrong, you'd definitely get a 401 at that point.
Spring Social Project Lead