Followup question, I was using "/debug rooms hi" to make sure my greenhouse was at least valid as a room. It wasn't, so I tried repositioning my roof slabs with no effect. I finally noticed that I had a stone path (block) next to the exit door. Removing it and placing a regular soil block in its place, or placing a stone path slab on top were both solutions that made it count as a room. I can live with that, but I had a similar problem with my house where replacing a stone path block with stone path stairs made the room valid. Worth pointing out that the first block on the outside of each door (i.e. the block it swings above when opening or closing) was also a stone path block but that didn't seem to cause a problem in either case.
Would this be considered a bug or intentional behavior? I'm using v1.20.12 (Stable) without mods.