I noticed that req2param is invoked by getTileOrGrid, which is invoked not only per-request but also internally as part of checking a newly created layergroup.
For a layergroup with multiple layers this would mean multiple calls to the same function for a single request. It has to be closely inspected, and ideally we'd have a test counting the number of calls.
I confirm a POST to /layergroup with a MapConfig made of 2 layers results in a total of 4 calls to req2params.
Do not call req2params again while testing created layergroups