The question, why German numbers are "backwards" is naive in many ways.
Spoken language was in existence before written language. Many numerals existing today were created long before reading was practised, so if there is any direction in a language at all, German does not "read" "backwards", it speaks "backwards".
But then, very likely numerals are not named with regard to direction at all, but for the logic behind counting. In Breton, the number eighteen has the name tri-ouch "three (times) six" – I cannot discern any direction in this numeral. In Finnish, eighteen is called kah-deksan-toista "two (from) ten (in the) second (ten)". The logic seems to be to view the decades and then say how far into which decade we are. Again, there is no reading direction implied in the number name. Similar to this Finnish logic, Old Norse used a counting system not based on tens, but on dozens and multiples of the divisors of twelve (e.g. 60 = "Schock" in German). "364 days" in Old Norse is fiora dagar ens fiortha hundraths "four days into the fourth hundred (= 120)". (Please note that "hundred" once meant 120.) I don't claim to understand the logic behind "einundzwanzig", but the question might be to understand the thinking behind numerals and find out about historic counting systems, not about reading direction.
In Old English, a language descended from Germanic dialects, numerals where "backwards", too: fēowertīene "four-teen", ān and twentiġ "one and twenty" etc., and you can still find remnants of an old vigesimal (base 20) counting system, e.g. "score" for 20.
There are many more languages that speak or read (some of) their numbers "backwards", among them Greek, Latin (both directions possible), Celtic languages etc., and of course languages that actually read right to left like Arabic, where our written numbers come from. The question could be rephrased as: Why does English read their numbers in the wrong direction? Because obviously the "backwards" way is older and may even be more widespread (there are thousands of languages and we don't know how they count; why should English be the norm from which to judge numerals?).
Our current number symbols were brought into Western culture from India, via Arabia. They reached Italy in 1200, Germany in 1500. In the 1500s, when the first books on mathematics appeared in German, there was some argument among scholars, if the number names should be adapted to the direction of writing and reading. Luther, whose Bible translation was the basis for the creation of a common German language (prior to Luther, there was no High German only a number of mutually hard to understand German dialects), decided to retain the traditional number names (i.e. "backwards"), contrary to other authors who proposed "zwanzigeins", in accordance with the writing direction of the new numbers.
Reference for the last paragraph: "Warum wir Zahlen von hinten nach vorne lesen und warum das nicht so bleiben muss", in: Gerritzen, Hauenschild, KIimmeskamp, Voigt (Eds.), Zwanzigeins, Bochum: 2008, Brockmeyer, and there the section "Das Stellenwertsystem und Jakob Köbel" on pages 23 and 24. (view on Google Books)