Not exactly the same context, but I've beat my head against a wall with WM(T)S print quality and symbol/font size issues arising from different screen and print layout DPI, though it wasn't Mapbox as a source.
As a workaround, I've exported (
Export / Save as...) the layer as a raster over my whole ROI, manually setting the resolution to correspond to the correct one for the target zoom layer (or fiddling with it to get the symbol/font sizes I wanted). Then I use my locally saved raster in lieu of the original layer in my print layout.
There are downsides, of course, but especially if your print area stays constant, it may be more efficient in terms of your time.
Starting with QGIS 3.14, you could also use vector tiles if you're using a standard source map. See https://www.maptiler.com/news/2020/06/vector-tiles-in-qgis-3-14/, though cost may be prohibitive.