Most folks will tell you to do pair/mob programming, or simply trunk-based development without any peer review whatsoever. I've found from the teams I've been in touch with that, unless you do 100.00% pair/mob programming or 100.00% feature flagging (which both have their own fair share of downsides), you'll probably have to use pull requests strategically, with a clear purpose, and that's great because they're there for a reason.
The problem arises when team use pull requests by default, dragging everybody down even when the changes are quite simple, and disincentivizing small, unrelated changes that would require yet another pull request to submit them.