Chroma Key Render isn't the same as viewer Please take a look at my node setup, viewer output, and then render.

I used the viewer node at two points so that I could make sure my color correction nodes were not the problem and even if I take the output straight from the keying node, the viewer shows the keyed scene over an alpha layer but then the rendered output puts the green screen and background all back in again.

I have been ripping the hair out of my head trying to figure out why this is happening. Several tutorials I've watched on Youtube show that if you take the output straight from a keying node into the compositing node and you composite using a format that has an alpha layer you are supposed to get just your keyed actor over a transparent alpha layer.

You can clearly see that on the top the viewer node has exactly what I want, but when I click render, the output on the bottom is completely wrong.

What am I doing wrong?
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.