The asnwer is SharePoint renders X-UA-Compatible header in its html output. This header tells IE to render the UI with IE8 mode. It explains why. To fix my apps, it's simple enough, add the following header to the page
<html>Or modify web.config to specify Default Compatibility Modes
<head>
<!-- Mimic Internet Explorer 8 -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
<title>My webpage</title>
</head>
<body>
<p>Content goes here.</p>
</body>
</html>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=8" /> </customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
More information on IE Document compability at this MSDN article