Zone (non-passive): a state = 0 when some persons inside

Since some time ago “zone” entities keep number of persons inside these zones.
Here is some non-passive zone:

The “states(‘zone.some_zone’)” is ZERO - even when persons inside it.

Compared with the “home” zone:

{{states.person | selectattr('entity_id','is_state','home') | map(attribute='entity_id') | list}}
states('zone.home') = {{states('zone.home')}}

gives:
изображение
which is correct.

But this does not work - the 1st statement gives a correct list of persons inside the zone, the 2nd statement is wrong:

{{states.person | selectattr('entity_id','is_state','XXXXXXXXXXX') | map(attribute='entity_id') | list}}
states('zone.some_zone') = {{states('zone.some_zone')}}

where “XXXXXXXXXXX” is a friendly name for the “zone.some_zone”,
изображение

Checked with one more non-home zone (not passive too) with 3 persons inside - same ZERO state.

Is this a bug?

Seems to be definitely a bug.

Do these zones overlap? If they do, I understand you can only be in one zone at a time. I’ve read stuff about HA picking the smaller area, or the one with the closest centre (not sure what the reality is). See this thread for a suggestion to use a proximity sensor instead.

Do not overlap.
~100 km between them.