It should not be assumed that since the modern Hebrew word for "crocodile" is tannin that the word meant the same thing in the time of Biblical Hebrew. Sometimes lingual shifts are minor, but other times they are significant. For example, in Biblical Hebrew, 'olam means "for length of days" (often understood as the closest term to eternity preserved in Biblical Hebrew). However, in Mishnaic Hebrew, 'olam had come to mean "world."1
The tannin are larger creatures in the Bible. They are typically taken to be either river or sea creatures (Genesis 1:21; Psalm 74:13; Job 7:12; Isaiah 27:1). However, Deuteronomy 32:33, Isaiah 34:13; and 43:20 all refer to land creatures with the term.
This is the creature that Aaron's staff turned into.
Exodus 7:10 When Moses and Aaron went to Pharaoh, they did so, just as the Lord had commanded them – Aaron threw down his staff before Pharaoh and his servants and it became a tannin.
Tannin is used 28 times in the Hebrew Bible. In some of those, it is parallel to another word that helps in this discussion. (In some, it is parallel to words that we don't yet know the meaning of because they are only used once or twice.)
Deuteronomy 32:33 Their wine is tannin’s poison, the deadly venom of phthanim.
While the exact identification of the pethen is unknown, it clearly refers to a venomous snake here and in other places where it appears. Whether that is an adder, cobra, or asp doesn't matter.2 The important thing here is that the venomous snake pethen is parallel to tannin. Then in Psalm 58:4, pethen is parallel to nachash.
Psalm 58:4 Their venom is like that of a nachash, like a deaf pethen that does not hear.
Thus we see that pethen are nachash, snakes. Therefore, since pethen are also referred to with tannin, we know that tannin can be snakes.
From looking at these occurrences, we see that nachash, tannin, and pethen are synonyms. From looking at them, I would say that they form up like this:
tannin - large or otherwise dangerous reptiles, of which snakes are included. They can be either land or sea creatures.
nachash - a general term for all snakes or serpents. All nachash are tannin, but not all tannin are nachash.
pethen - a specific type of venomous snake. All pethen are nachash, but not all nachash are pethen.
The modern English translators, being aware that tannin was not limited to "crocodiles" in the Biblical Hebrew era, chose the word "snake" as "snakes" are part of the tannin and it was already established that Moses' staff became a snake. They did this because English does not have a word that corresponds 1-to-1 with tannin. In the modern, western mind, "dragon" usually conjures up images of flying, fire-breathing reptiles. That isn't the image we get from the Hebrew (those tannin stayed on the ground and Aaron's ate the others. The people didn't flee and weren't pushed away from several tons of flying reptile appearing in their midst).
Just like the Hebrew tannin, the Greek term drakon was wider than the English term dragon. You are right to say "it reads similar to dragon." While the words are related, they are not a perfect match. In Greek mythology, a dragon might have wings and legs or it might not.
- Ladon - a drakon that did not have legs but coiled around a tree. It was slain by Heracles.
- Apollo fought Python, which is always seen with neither wings nor legs in ancient Greek artwork.
- The chimera had a serpent's head on a lion's body (along with a lion's head and a goat's head), and thus was a legged dragon.
In fact, most Greek dragons were giant serpents and few had legs or wings (Demeter and Meda used winged drakons to pull their chariots). Like the tannin, the drakon could be in the sea (cetea-type drakon) or on land (chimera or serpent-like). There was even a subtype of drakon with faces and upper bodies of beautiful women (the Dracaenae).
In short, the LXX used drakon for tannin in Exodus 7 because tannin and drakon had similar ranges of meaning. The English translators use snake because we do not have term with such a similar range of meaning as tannin. Translators try to avoid having a plethora3 of translator's notes at the bottom of every page.
1In one of my Hebrew classes, the professor threw us a verse from the Mishnah using 'olam on the first day of the Mishnaic unit just to make this very point about lingual shifts.
2I would not use the general term "viper" as "viper" also appears in parallel to the phethen in Job 20:16. "Viper" is a translation of 'eph'eh.
3translator's note. Spanish for "many." See what I mean? :)