You need a copy of each of your animated circles with 100% transparency. I would add matte to the layer names and tie to the size of each of the disks to their original using a simple pickwhip expression from the Layers and Links column. Turn off the matte copies and move them to the bottom of the stack. Add Set matte to the five-mile disk, set it to use the one mile matte layer as the source and invert the matte. Duplicate Set Matt and set the copy to use the three-mile matte layer as the source. Add set matte to the two-mile layer and set it to use the one mile matte as the source. Set the one, three and five-mile layer transparency to 60%, tie all the layers to a null with parenting, and animate the size of each disk. The three and five-mile layers will now be doughnut-shaped as they grow and you won't have overlapping transparency. The comp would look like this:

You are seeing all the modified properties of the layers.
Another option would be to use strokes instead of fills and animate the width of the stroke so each layer was a doughnut. You could also use copies of the disks on the shape layers and merge paths to create your doughnut shapes. You just can't do it without creating doughnuts.

I have not animated anything here. You'll have to animate both the size and the stroke width.
That should get you started.