@perfect786 Consistency. Practice. Experience. I'd say genetics are maybe like 10-15% of it, but they're far from the primary reason why I'm fast. I wrote
this post about training (somewhat my own training, largely general training needs for non-beginners) a bit ago, if that's helpful.
Altitude will hold you back, but not that much, especially having lived there for 3 years -- elites go up to 5000-7000+ feet for ~6 weeks at a time before important races to reap the altitude benefits. You have all the altitude adaptations you need at this point. And for an altitude/flat pace discrepancy example, my flat/sea level (where I live) half marathon pace is 6:17 min/mile, my 7000 ft altitude (arrived literally the night before) with a single 1000' climb half marathon pace is 6:43 min/mile. That said, people with a lot of experience are probably less susceptible to the altitude issues than beginners. I've been training for 13 years, this ain't my first rodeo.
Also -- and don't take this the wrong way -- there is a true learning curve in maximally "pushing yourself", and you might just not have quite figured that out yet. It's possible that your body could actually keep going after those two miles at 9 min pace. In fact, it almost certainly can. But learning how to ride that line takes a lot of years of experience, actually. Even I can't quite get it perfect in every single race. When I come through Mile 1 of a 5k, my only thought process is "jesus christ this is unsustainable I'm going to blow up fall apart and die", but despite that I actually generally either stay the exact same pace, or actually get a bit faster. It's absolutely grueling and extremely difficult, but it's possible.
It's also really impossible to extrapolate an easy pace time to a 2 mile hard effort time. If that 10 min pace for 10k is easy, it's not your race pace. To use an imperfect solution, the Jack Daniels VDOT Calculator spits out an "easy training pace" (which should actually be universal no matter how far you're running -- it does not matter how far the run is; easy is easy and if your 10 min pace for 10k is only easy for that distance but is hard for 8 miles, then it's not actually your easy pace and you're running too fast in your general aerobic training runs) of 9:49-10:29 min/mile
assuming an all-out 10k RACE effort being 50:00 min. So if your easy pace is 10 min/mile, you should be running near 50:00 for a max effort 10k, and ~24 min for the 5k. If this is not the case, you're almost certainly aerobically underdeveloped, and the solution is to run more, and to add in long runs.