Расслабьтесь, обработка закодированных параметров HttpRequest не прерывается.
Фактически, как гиперссылка, так и прямая навигация из адресной строки приводят к вашему «ожидаемому» результату в Запросе.
<a href="WebForm1.aspx?originalUrl=http%3a%2f%2flocalhost%2fAction%2fRedirect%3fUrl%3d%252fsomeUrl%253futm_medium%253dabc%2526utm_source%253dabc%2526utm_campaign%253dabc">HEY</a>
и
WebForm1.aspx?originalUrl=http%3a%2f%2flocalhost%2fAction%2fRedirect%3fUrl%3d%252fsomeUrl%253futm_medium%253dabc%2526utm_source%253dabc%2526utm_campaign%253dabc
Результат:
http://localhost/Action/Redirect?Url=%2fsomeUrl%3futm_medium%3dabc%26utm_source%3dabc%26utm_campaign%3dabc
Вы должны заранее что-то сделать с URL-адресом, например, перенаправить или заполнить свойство NavigateUrl элемента управления asp.net и позволить asp.net отрисовать его, который может выполнить первое декодирование, прежде чем оно попадет на целевую страницу.