You're confusing #main with the scripts called Main I think. These Mains are typically run first because the code is not bound within a method and is executed immediately - like the attr_x calls and alias_method are. If you do similar things, like the ever popular
($imported ||= {})[:CUSTOMSCRTIPXYZ] = true
then these end up running before Main script is compiled and executed, providing they are above that script. Any scripts below don't execute because Main has told it to call other methods and a cycle continues until the program is closed. That's why the scripts below it are never called - they never get chance to be seen.
The class method called #main isn't the same as calling the contents of the Main script. #main is a method that resides in Scene_Base and is called via $scene.main more often than not - where $scene is simply a variable containing the current Scene object. In #main are the methods for setting up the transition between one scene object and the next, the executing of the current $scene object and the final processing (like deleting any resources) before the object is deleted and the new scene object enters the - well - scene.
When you compare the two #main methods they may look different, but they aren't really. VXA just bundles parts of the method into other methods, whereas VX just lays it all out in #main.
Regarding the differences between the two Main script executions: VX places it's code in a begin/end layout, to show where essentially a block of code exists to be executed in which exceptions and errors can be watched out for. Should an error occur during runtime, it is caught and rescued to give the error notice.
In VXA, the built in function rgss_main is called with SceneManager.run as it's block argument. rgss_main is given it's name by Enterbrain to show where the code begins but all it really does is run the block contents once. You can use it as many times as you want to should you have a use for it. However, it does have the added ability to detect the F12 key being pressed, in which the block is then executed from the beginning again. If you used rgss_main after the default used one in Main, you would likely lose the capability to reset the game using F12, so extreme care should be taken if you ever wanted to use that method for something.