Why won't Difference subtract the geometry of this mesh? I am trying to subtract the big ring (highlighted in light orange) from the smaller ring (highlighted in dark orange) so that there is a slot down the middle of the smaller ring.



I have tried every combination of Boolean modifiers, and they do not work. In the past, Difference sometimes worked to subtract geometry, but not always.

This is what happens when I apply a Difference modifier to the smaller ring and target the larger ring:



As you can see, almost all of the ring is removed, except for a few tiny bits on the sides. I have no idea why this happens.

This is not the first time Difference has failed me, for seemingly-indecipherable reasons. Is there a way to force Difference to work logically, or, failing that, to subtract geometry another way?
Please consider


Adding loop rings to the circular form.
Select the middle faces.  Extrude -  No Movement Accept. Shrink Fatten. You may Shrink Fatten to create a cut out slot.