I agree the incident trigger is too early in the process. I think there may be an option to add a delay or wait. Maybe that will give time for the alert data to be collected.
Have you considered using Event Grouping under the Rule Logic to create a new alert for each row returned. The alerts would still be grouped by incident. You could then use an alert-based trigger (rather than an alert rule) to trigger a response on each individual IOC.
You may be able to loop through the events related to an incident ID to add the IOCs to a variable or table.
You could also log the IOCs to a file or custom table with the main logic app. Then a secondary logic app could report on the collected IOCs on a schedule.