I have also found it best to answer questions honestly but age appropriately as they occur - kids are nearly 9, nearly 7 and 3. 3 year old hasn't asked (he would doubtless come up with his own weird and wonderful explanation involving wizards and magic atm...) but the older 2 have always asked, especially DD, and both asked a lot when I was pregnant with DC3 - they were 5.5 and 3.5 when he was born.
9 and 7 year old know about periods being a soft lining that grows inside a woman each month, for a baby to grow in, and comes out if there isn't going to be a baby that time, it looks like blood but its not from a cut or a sign of anything wrong. That's how I explained it years ago, so although it is not quite 100% accurate its close enough and has "stuck". DD knows she will have periods, and knows what age I started and what age range people start - all because she has asked. She has also mentioned girls at school with public hair, and asked when she will get that, and breasts...
They know about eggs and sperm, as I showed them in a children's encyclopedia when they asked, aged 5 and 3.
They know that taking the pill stops a baby growing, as they've seen me take my pill and asked, and they mention it sometimes - how they won't have any more brothers or sisters because I take a pill to stop myself growing babies. DD asked about a condom machine in a public toilet at an airport once and I told her what it was, but not sure she understood, as it probably didn't "compute" (I said it was another way to stop making a baby). We were rushed at the time and she never asked again - there was a lot going on and I assume she forgot, as she isn't usually one to let things drop.
A friend of mine told her 8 year old son that "god puts babies in mummys tummies" when he asked how they got in, and that "Doctors take the babies out" - tbh I just think that is setting him up for believing every playground rumour, or being teased... and then eventually needing to be sat down for some embarrassing, red faced "birds and the bees" talk to clear up all the misinformation, just when he's old enough to have got the impression the subject is taboo with his parents. Why do people not answer their children's questions honestly?