Subtracted Strokes don't correctly Union

I’ve created an image of 2 interlocking rings using Ellipses, Vectors, Rectangles, Subtraction, Strokes, and Fills. But when I select the whole thing and apply a Union, I get an unexpected result.

Thoughts on what I’m doing wrong or is this a bug in Figma?

Here’s an image from the project:

Here’s the project file: