Your licenses are a pool rather than a set of permanent tags. Connecting a screen takes one; disabling that screen returns it.
Across linked workspaces
On Enterprise, linked workspaces share a single pool held by the parent. A license one team is not using is available to another, so a group of regions or brands draws from one set rather than buying separately.
The Assigned counter in a parent workspace includes screens in every child, not just its own. A parent showing more assigned licenses than it has screens is normal.
The workspaces table
Under Workspaces sharing this license pool, one row per workspace with its name and how many licenses it is using. Sortable by either, and searchable, which starts mattering past a dozen.
Rows are labelled. Parent marks the workspace that owns the subscription. Current marks the one you are looking from. A workspace can carry both.
Exporting it
Export gives you a CSV with four columns: Name, Domain, Licenses Used, and Type, where Type is Parent, Current, or Child.
That is the quickest answer to why a pool is full, and the thing to attach when asking a group of teams to give some back. Sorting the export by licenses used names the two workspaces holding most of them in about ten seconds.
Rebalancing
There is nothing to reassign. A license is not allocated to a workspace in advance; it is consumed by connecting a screen and released by disabling one.
So freeing licenses means disabling screens somewhere, not moving quota around. The export tells you where to ask.