It's not about pricing at all, GitHub is way more attractive with just 4$/user/month.
I think the predominant factor is data governance and information privacy. A self-hosted GitLab instance is mostly good enough, until you don't want to self-host it anymore and change to a cloud hosting service of your choice. It's just that not a lot of privacy aware people want to pay Microsoft for playing around with their data.
SE in France, 10y+ experience. I’ve never seen a company choosing those tools with any consideration for privacy or security or for any given reason.
In all of the companies I worked, the "basic" tools (aka mostly GitHub, Google Workspace, Jira, Slack etc …) were all just default choices from the era when the company was fund and then those things just became the base bricks of thousands of internal procedures and scripts and once the company is at cruise speed, nobody will want to change any of those tools even if "better" (for whatever definition) or cheaper tools exists.
Because it’s just too hard.
And somehow, by some amazing magic I don’t understand, at some point, people are happy with the fragile stack of hacked things running on top of 4 or 5 extremely "shitty" (for whatever definition) products that you can’t cancel.
I won't disagree with your assessment that the tech stack changes rarely or ever, but newly founded companies are still picking GitLab fairly often. AFAICS every business wants their tech stack "moved to the cloud", but infra people weight the costs and still have good contacts to local data centers from the pre-cloud-era - you know, contacts with a phone numbers and human support. Those data centers made it a business to run GitLab instances for you, among other things. A lot of businesses choose a discounter like Hetzner first and then move to one of those when support matters.
That is mostly the best overall price (direct and indicrect costs) for the offered value, data governance included.
Price is not everything. My company has Gitlab licenses as a part of a larger Microsoft enterprise agreement/partnership but we still pay for GitLab Ultimate and use that as a default for all developers.
I think the predominant factor is data governance and information privacy. A self-hosted GitLab instance is mostly good enough, until you don't want to self-host it anymore and change to a cloud hosting service of your choice. It's just that not a lot of privacy aware people want to pay Microsoft for playing around with their data.