It becomes very long, but it doesn't seem overly cluttered, and it avoids the risk of overly restrictive either/or classification. Rust makes extensive uses of labels on github, they're up to 120 at this point[0] and it seems to work reasonably well even with old issues with a fair number of labels[1]
FWIW, at my office for the small projects we have tracked, we use a similar method.
type-label
Types:
b - bug
f - feature
p - priority
t - team
So we might have issues tagged "p-med b-confirmed t-group1"
Once there is a method to the madness, it's not bad, and it's more flexible on Gitlab's part I'm sure, to have people tag instead of supporting custom drop-down attributes.
[0] https://github.com/rust-lang/rust/labels
[1] https://github.com/rust-lang/rust/issues/5016