I get border artifacts when using Cryptomatte or ID Mask
Good news! This has been solved. Our friends at CG Cookie actually made a video in 2013 (before Cryptomatte) that explains the problem and a solution we have when working with a flattened scene: Working with Alpha Edges for Compositing in Blender.  No matter how perfect the matte is, even Cryptomatte cannot solve the subject / background color mixing on the edges. However, the video shows how to use nodes in Blender to get around this! Essentially, you duplicate and invert the matte and apply it to the background, and use Inpaint node on both the foreground and the background to simulate and extend edges of unmixed color. Here is a basic node setup. Note that the ColorRamp nodes each have a black stop and a white stop, they're just VERY close together but they don’t necessarily have to be if your edges look clean:

The techniques work great with Cryptomatte, and solved my edge issues very well. In fact, I believe their Blender compositor approach is the same basic principle used in the Fusion solution linked in comments above. Knowing this approach, it's also useful for working with other types of flat footage that requires mattes and decontaminating the edges of color blend from subject to background.

Another solution would be to use separate render layers via linked scenes and collections, then composite those, but that is not always practical or possible. It would be amazing to have an automated way to render separate layers based upon the Cryptomatte (would probably only work at object level, not material level), or maybe get some kind of deep compositing method like this video shows: Skill Up With Nuke | An Introduction To Deep Compositing In 11.2. Eevee and Cycles do not have deep compositing at the moment, but perhaps another render engine compatible with Blender does have it.