For code review and merge workflow gerrit used to be good a decade ago, it's probably good today, too. Github PRs are strictly worse today than what I remember from gerrit back then.
Gerrit is great if your team is willing to work in a rebase based workflow!
We handled huge repos on Gerrit (and a huge number of them) at my previous employer with very few problems. It does take a certain effort to self-host it, but then what doesn't.