I had the same problem, and you are correct in your identification of the user agent string.
Add a browserCaps section to your web.config to patch around it. I used the following:
<system.web>
<browserCaps>
<!-- IE 11 Patch //-->
<case match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)">
browser=IE
layoutEngine=Trident
layoutEngineVersion=0${layoutVersion}
frames=true
tables=true
cookies=true
javascript=true
javaapplets=true
ecmascriptversion=1.5
w3cdomversion=1.0
css1=true
css2=true
xml=true
tagwriter=System.Web.UI.HtmlTextWriter
screenBitDepth=8
isColor=true
extra=${extra}
letters=${letters}
<case match="rv:(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))">
version=${version}
majorversion=0${major}
minorversion=0${minor}
type=IE${major}
</case>
</case>
</browserCaps>