FWIW when I was a kid we covered all of that in grade 5.

After years of trying to be subtle when answering DS's million questions we gave up and went over most of it starting he was 6 (DD was 4). We really liked the book "It's So Amazing" and used that as bedtime reading to start the conversations. It does cover some topics that some might find controversial so I would pre-read if you go that route. A potential plus side of starting young is that you might get to them before they get all awkward about discussing it with a parent. Hopefully we can keep the lines of communication open as they get older.