My son was exactly the same. I feel your pain! My son went through a period where he was up at 4:30. I can't really tell you that anything worked, but I can tell you what I tried out of desperation that eventually led to a compromise. The fact that she naturally has a BM at that time is the biggest thing working against you. My son is the only morning person in our house, and also has always had his BM first thing when he wakes up.
We blacked out his windows and got an extra 30 minutes that way. After he is asleep, we would put a non spill container of dry cereal, a sippy cup of diluted juice, and a box of toys and books where he could reach them. This usually gave us another hour before he would demand to get up. We also at one point put a portable DVD player in his room, and when he'd wake up, I'd go in and turn on a Baby Einstein video (set to repeat play). We made sure to always leave the light off and many times, he fell back to sleep. If diaper changes were necessary, we did it in his bed because once we take him out, he won't willingly get back in.
My son is almost 3 now, and is old enough to understand a bit more. If he wakes up before 6 am, I tell him it is still night time and I put him back to bed and tell him I am going back to sleep too and will see him in the morning. Most mornings, he wakes up at 6:30. He comes into our room where we have a corner set up for him with cereal, drink, toys, books, and DVD player. He comes in, and does his own thing while we sleep and can still keep an eye on him. We child proofed our room and left our door with squeaky hinges so I will wake up if he tries to sneak out. We tell him that we are all sleeping until his sister (age 7) wakes up... then, the whole house gets up. This is normally about 8 am.