I am having trouble with Html.ActionLink when I have a route that takes more than one parameter. For example, given the following routes defined in my Global.asax file:
It is using the first route that is fully satisfied. Try putting your SlugsAfterId route above the Default one.
It's basically going: "Check Default. Got an action? Yes. Got an id? Yes. Use this one and chuck any other parameters in the querystring."
As a side note, doing that will make your Default route redundant as you provide a default value for the slug parameter.