There are a lot of companies with 10 developers but 100 reporters. Why should those two groups of people cost the same? The interaction is easy - GitLab already works on the permissions with the different user types. And calculating cost is just as easy - how many reporters vs how many other types.
Enforcement of that seems less than ideal. You would have to have GitLab check the number of Reporters and Developers any time someone gets Developer access to a repo. Which means that the repo owner gets the error when you run out of licenses, which is less than ideal. As opposed to a user limit, where presumably whatever team owns Gitlab gets the error when they add the user.
I would guess that most startups or small devshops using gitlab are going to have 5-6 devs to a maybe 1 reporter user.
Edit - I'm not disagreeing with you that a reporter user needs less features and in theory has a lower cost to gitlab. I think the target customer for the gold/ultimate tier that has reporter users won't blink at paying for it.
If you've got some users at a higher tier how are they going to interact with other users within a group that isn't on that tier?
Features recently moved down to silver from gold enabled us to leave jira which has been great. Epics + roadmaps