This is pretty good as far as definitions go, but really, I think the biggest problem with the question is that we have unrealistic expectations for how to define things.
Mostly, intuitively, we work from a set of typical examples. And yet we feel like we need to demand language that precisely partitions things, according to formal rules, with no mistakes, for our definitions. This is convenient when it's practical, but we should never really assume that it's practical.
So at its core, the definition of "woman" is functionally "more like the typical phenotype of a human adult with XX genotype than any other category we're trying to distinguish right now".
Note that this definition works just fine for most cases, and is pretty useless when some phenotypes match well and others match poorly. But that's okay! Drawing the boundaries of a definition can be complex, and people should highlight which boundary they want clarified.
The whole "define woman" thing is a gotcha because the request sounds simple (and it is, if you define based on a prototypical example, real or imagined), but it is code for "define woman in such a way that you make clear exactly where you think the boundaries lie in this socially contentious issue except without me having to enunciate what very well could be an insensitive or even hateful position as part of my question".
If you're going to rise to the challenge of trying to get at the precise boundaries, then exploring the issue like you have is a good way to go. But if faced with the question, I think it's also perfectly reasonable to say, "A woman is someone who is reasonably like a prototypical adult human of XX genotype--ask me a more precise question if you want a more precise answer."