I naturally woke up at 10 am and didn't really like mornings, and my most productive periods were definitely 1-2am. Thats when the most exciting coding solutions seemed to come to me.
Then I started going to early martial arts training. Since I wanted to go before work, I had to wake up at 7:30. For about 8-9 months it was quite unpleasant, though the training sessions themselves were fun enough for me to want to continue.
But then something strange happened. I vividly remember the day I "switched". It was spring time and we just started getting our training sessions outside. It was intense enough that the guys decided to go shirtless and take in the morning sun. And at that exact moment, basking in the sun at 8am, during a demanding physical exercise I thought to myself - wow! this is so exciting, fun and natural. It felt a bit like a Chinese kung-fu movie. A very energising experience.
And from that exact day I start feeling sleepy at 11pm and wake up at 7:30 consistently each day and would feel awesome in the mornings.
This is I know very anecdotal, but at least I know it's possible. And the recipe seemed to be lots and lots of sun, outdoor activity and a very positive emotional feedback. This I think might be the biggest reason. Currently the most positive feedback we usually encounter is in the evening - late night YouTube / tv / internet / books / friends / family, ... even intercourse. Quite a lot of the stuff we look forward to happens in the evening. It makes sense that our bodies adapt to make us most alert when it senses we get the most bang for the buck. But if you reverse that and attempt to do the stuff you really like early, your body might adopt, albeit slowly.