I think this is a fantastic way to work with dynamic ranges! Very impressive!
Another approach is save the attachment to OneDrive and then run an Office Script to grab the used range. From there you could convert it to a table for processing or use the script to pass the values to your next step.
Here's what the script would look like if you were trying to grab the data:
function main(workbook: ExcelScript.Workbook)
{
// this assumes there is one worksheet with one contiguous range in the workbook
let dynamicRange = workbook.getFirstWorksheet().getUsedRange();
// you could then grab the values
let values = dynamicRange.getValues();
// you could convert it to a table
let newTable = workbook.addTable(dynamicRange.getAddress(),true);
}
You might find some of the Office Scripts samples relevant. There would be a few more lines of code required to pass the values out to the next step in your flow but the samples at the above link should get you started if you want to go that route. Good luck!