Chroma Key Render isn't the same as viewer
You'll have to re-think your keying process.
Focus first on producing a proper matte from the greenscreen. In that stage, leave the RGB pixels alone and focus on the "matte" output of the keying node.

When you're done with that, connect another instance of the unmatted plate to a spill supressor and do all the colour correction and adjustments you need.
Avoid doing a massive colour grading at this stage, the only color correction needed is to fix background spill and take the foreground color closer to the background, adjusting levels and neutralizing undesired casts. The creative part of colour correction doesn't have to be performed at this point, but after it's composited over the background. 

Once you have a proper alpha channel and a corrected image, next step is setting the alpha channel to the corrected RGB. That's done with the "Set Alpha" node.

The result will be an "unassociated" (usually called "straight") alpha image.

In Blender's compositor you need it to be associated (often called "premultiplied), so you'll have to add an "Alpha Convert" node after the Set Alpha, from Key to Premultiplied.

The result will be an RGBA image ready to be composited over a background with a simple "alpha over" node (without marking the "Convert Premul" checkbox as it's already associated).

If you intend to composite it over the background using a different software and not Blender's compositor, then you just have to save the result to a format that supports alpha transparency (EXR would be ideal, but there are other formats).

There's an important thing to keep in mind: Blender's viewer is broken for associated alpha images, so don't trust how the viewer renders images with transparent background. Place a temporary solid background with an alpha over node and inspect the edges instead.