We read Koheles on Succos, Shir HaShirim on Pesach, and Rus on Shavuos, and we always read it prior to Kriyas HaTorah. Then why do we read Megilas Esther on Purim day after Kriyas HaTorah?
לַיְּהוּדִים, הָיְתָה אוֹרָה וְשִׂמְחָה, וְשָׂשֹׂן, וִיקָר
The Jews had light and gladness, and joy and honour
Light = Torah
Gladness = Holidays
Joy = Brit Milah
Honor = Tefillin
From this the Maharil (as quoted in the Darkei Moshe OC 693 sk 4) says that one should perform a Brit Milah before reading the megillah so that we can read the verse above regarding everyone. This is extended in the Achronim to leaving one's tefillin on throughout the megillah so that we can read the pasuk while wearing tefillin (see for example Kitzur Shulchan Aruch 141:22). This can then finally explain why we read the Torah first: so that when we read the verse above in the megillah, we have amongst ourselves Torah, Milah, and Tefillin just as it "says" regarding the Jews of Shushan.
I've heard the following explanation, but cannot currently find the source. If anyone knows - please comment.
There are opinions that reading ketuvim in public is forbidden on shabbat, at the "time of the beit midrash", so that people will listen to the drasha and not to the reading. See Bavli Shabbat 115a; and Mishne Torah, Laws of Shabbat, chapter 23, halacha 19:
ואף לקרות בכתובים בשבת בשעת בית המדרש אסור גזירה משום ביטול בית המדרש שלא יהיה כל אחד יושב בביתו וקורא וימנע מבית המדרש
There are opinions that the "time of the beit midrash" is from the morning service until after the mincha service.
Thus, the megillot we read on Shabbat (Shir HaShirim, Kohelet, and sometimes Rut) are read before the morning Torah reading. Megillat Esther, since it is never read on Shabbat, can be read after the morning Torah reading, in what would seem to be a more natural place.
The Sefer הארות השמש Siman 7 Number 10 says that the difference between Megilas Esther and the other Megilas is that we only do Tadir first when both items are a requirement, and therefore on Purim where Kriyas HaTorah and Kriyas HaMegila are both requirements we do Kriyas Hatorah which is Tadir first. However by the other Megilos where it is not a requirement, it is only a Reshus therefore it does not matter and you can do it anytime.