Both are correct but yes, duolingo must use the other pronunciation because that's the default one and it's more common.
They are not accounting for the fact that when the following sound combination occurs the pronunciation of अ (ə) changes to ऍ (ɜ).
- C+अ+ह् -> C+ऍ+ह्
- ह्+अ+C -> ह्+ऍ+C
Note: ऐ = /ɜː / and ए = /ɜ/.
So, although it's not written in Hindi (which it should be actually) but शहर (ʃɘɦɘɾ) is actually pronounced शॅहॅर (ʃɜɦɜɾ).
All word order makes sense. Hindi is a word order free language. So, for simple sentences any possible word order is correct. However, the default is SOV and Duolingo only accepts sentences in SOV.
For complex sentences too (which have adjectives, postpositions, negations) the word order is still free however this time you can freely switch the subject phrase, object phrase and the verbal phrase in the sentence, and not the words themselves.