Hi,
First, you need to understand the concept of opportunityclose. Here we go.
For example, I have an open opportunity (Never closed before/ Not Reopened). In this case: if I fetch the related opportunityclose. I will have 0 records.
This is the query to get to related opportunityclose:
You can find the opportunity id in the URL:
https://yourorganization.crm.dynamics.com/main.aspx?appid=a852c385-f718-ea11-a822-000d3a31a0ef&pagetype=entityrecord&etn=opportunity&id=3ef0c6b8-ea50-ea11-a812-000d3a338108
So for now, I have zero related record.

When I close the opportunity, one related record is generated:

The important part is the status wish is set to "Completed".
Now, I reopen the opportunity, I execute again my query:

The Status is now set to "Canceled"
I Close again the opportunity, one more record is generated:

So the generated opportunityclose have the Status "Completed"
So, now we move to the flow's logic:
The trigger: When opportunity's status is updated.
Check if the status is equal to "Won".

If Yes, the flow will retrieve the related closeopportunity with status "Completed". With the concept explained above, the flow should retrieve only one record.
This is the query using fetchXml:
To get the filter for the flow, i use this amazing tool "fetchXml Builer" availble on XrmToolBox:

So I Copy/Past the parameters in Flow:

Then, you will get all the related opportunityclose (Only one in this case).

I hope it's clear, If you need more guidance contact me on LinkedIn.