I've run a number of different models, some of which maintain 338 MPs and make the ridings a little bit bigger as needed to make room for those extra list MPs, while still maintaining 338. I have also run simulations or models where we keep 338 ridings for individual MPs and add on the top-up layer as well.
From my perspective, the optimal system that meets your criteria either way would be the rural-urban system. That maintains very good proportionality while still having just a very modest layer of top-up MPs, as few as about 50, which is significantly less than MMP for the same degree of proportionality.