The nests can be at any height as far as the chickens go. Chickens don’t car nearly as much as people do. The key is what suits you and your coop best. Some people with a bad back have the nests up high enough that they don’t have to bend over to gather eggs. Some people are happy with nests on the floor. If you put them really low, make sure the sides and front are high enough the chickens won’t scratch trash and poop from the coop floor into the nests. If they are over two feet high put some type of perch in front to help the chickens get into the nests.
It is very important that he roost be higher than the nests as others mentioned. If your coop is only three feet high that may be a challenge. Also you need some ventilation over their heads yet keep breezes from hitting them directly. That means the roosts need to be a certain distance from the roof and below those openings.
If you go with a 3’ x 3’ footprint try laying it out so you can get a nest in there, a roost, and they don’t poop in the food and water at night when they are roosting. That can be challenging if you feed and water in the coop.
How much of a problem they have getting down from a roost has a direct relationship to how much clear landing space they have. The higher the roost the more clear space they need to land without banging into a wall, the nests, or the feeders or waterers. They don’t just jump down but spread their wings to soften the landing. A lot more get hurt banging into things on the way down than actually hurting themselves on the landing.
If you are buying new material to build the coop, most building materials come in 4’ or 8’ dimensions. You can usually build a bigger coop if you use these dimensions for about the same cost and have a lot less cutting and waste. A sheet of plywood is normally 4’ x 8’. If you use that to build a 3’ x 3’ x 4’ high coop, you cut twice and throw away 2’ of the plywood. If you build it 4’ x 4’, you cut once and throw nothing away.
The way I determine roost height is to first determine floor height, including the depth of any litter I might use. Then I position the nests. Next I determine the minimum roost height where the roosts are clearly higher than anything I don’t want them to roost on, usually the nests. The lower you make the roosts the less chance of them hurting themselves getting down and the more room you have for ventilation up high.