How do you avoid staining your shadow?
blender Save File
Have you tried other tests without the denoiser to see if you like things better? I see for example that you render at 4K if you render and save and then downscale to 2K you will hide lots of inaccuracies. Perhaps you could reduce the strength of denoiser etc.
In addition, it may help to experiment with what drives the denoiser. I sometimes find I have to mix and mangle using object/material ids (or cryptomatte - but that has been broken for me on Linux lately), and do separate denoise approaches on them.