For preschool age I'd keep it at 2-2.5 hours. People will probably hang back a bit later anyway. It sounds short but by the end you'll be glad! I would like to see an end time - it also tells people that they can't just rock up a hour late and expect a full-length party.

If you don't want hoards of people, don't advertise that you're happy for parents/siblings to stay - they might think the whole family is meant to come. I'd just make them feel welcome to stay when they get there.

Hope the party is lovely!