Any organic visibility is always skewed. It's an estimate value that's based on data collected previously but it's still valid for comparison.
If you visibility is lower than that of your competitor it means that they rank higher for more keywords with higher search volumes, well sort of. They can rank first for a single keyword with 100,000 monthly searches and if you rank first for a 1,000 keywords with 10 monthly searches, their visibility is still higher.
All queries, including the branded ones are counted, they may not target your branded queries but they can compensate it with higher positions for more popular keywords and their own branded queries.
Here's me trying to explain how it works:
You both rank for 2 keywords each, one common and one branded for each of you.
Common keyword - 10,000 searches
Your branded query - 3,000 searches.
Their branded query - 1,000 searches.
You rank first for your branded query so 100% of people see it and like 90% are likely to click on it. You get 2.8 Visibility points from a keyword with 3,000 search volume.
They rank first for their query and with the same conditions get 0.9 points because their query gets only 1000 searches.
So far you're in the lead 2.8 vs 0.9 visibility points
Now if they rank first for the common query, everyone will see their website an like 70% will visit. They'll get like 7.5 points.
You rank 8th. A lot of people will see your website but only around 5% will visit it, so you get 1.8 points.
Their total 8.4
Your total 4.6
Now spread this across thousands of queries and you'll know how it works.