A compilação do Dojo falha no IE9 ao carregar a camada do cabeçalho HTML: a propriedade 'dir' é indefinida

Eu fiz um build do dojo, mas eu queria a flexibilidade ao ativar / desativar o build, então eu tentei carregar em<script> tags no cabeçalho HTML:

<script src="js/config.js"></script>
<script src="/dojo/1.9/dojo/dojo.js" data-dojo-config="async: true"></script>
<script src="/dojo/1.9/dojo/dojo-all.js"></script>

e deixei meu arquivo JS inalterado. Parece funcionar, no entanto, houve um problema, mas apenas no IE9, e apenas na versão do aplicativo implementada no WebSphere (testei no Apache2). O problema era que a propriedade 'dir' era indefinida naquele fragmento de código em particular:

    geom.isBodyLtr = function isBodyLtr(doc) {
        doc = doc || win.doc;
        return (win.body(doc).dir || doc.documentElement.dir 
           || "ltr").toLowerCase() == "ltr";
    };

Depois de alguns procurando por problemas semelhantes (como este:Como evitar o erro "Não é possível obter o valor da propriedade 'dir': objeto é nulo ou indefinido" ao carregar páginas no IE9), Eu detectei que pode ser algum problema de seqüência de carregamento. Eu removi a camada do cabeçalho HTML e a carreguei no meu JS na seguinte sequência:

require(["dojo/domReady!"], function(){
// load the layers, but only after document is ready
require(['dojo/dojo-all'], function(){

require(["dojo", "dojo/on", "dojo/dom-attr", "dojo/dom-class", (... and hundred more) 

No entanto, sei que as pessoas estão carregando compilações no cabeçalho HTML, por exemplo, do tópico aqui:Dojo constrói ...? E agora?

Então, minha pergunta é: estou fazendo algo errado, ou esse truque com cabeçalho HTML não é garantido para funcionar em todos os navegadores?

Esta é a minha configuração de script de construção:

'dojo/dojo': {         
    include: ['dojo/dojo', 'dojo/domReady', 'dojo/_base/declare'],         
    boot: true,         
    customBase: true    
},
'dojo/dojo-all': {
    include: ["dojo/on", "dojo/dom-attr", "dojo/dom-class", "dojo/query", "dojo/_base/lang", "dojo/request/xhr", 
    "dijit/registry","dijit/form/TextBox", "dijit/form/Textarea", "dijit/form/ComboBox", "dijit/form/FilteringSelect", "dijit/form/CheckBox", "dijit/form/Button",
    "gridx/core/model/cache/Sync", "gridx/Grid", "gridx/modules/SingleSort", "gridx/modules/ColumnResizer", 
    (...and hundred more)],
    boot: false, // exclude bootstrap modules
    customBase: false
},

e este é o build.bat do dojo:

java -Xms256m -Xmx256m  -cp "%~dp0../shrinksafe/js.jar";"%
~dp0../closureCompiler/compiler.jar";"%~dp0../shrinksafe/shrinksafe.jar" 
org.mozilla.javascript.tools.shell.Main  "%~dp0../../dojo/dojo.js" 
baseUrl="%~dp0../../dojo" load=build %*

questionAnswers(1)

yourAnswerToTheQuestion