EDIT: SOLVED. Stream of consciousness below.
I was able to use REGEX with Match to work on the first string in the table. Where varResponse is the string response from the PowerAutomate flow.
My first test case worked using:
Collect(TestColl, Match(First(varResponse).Value, "\{""Column1"":""\\""(?<Column1>[\w \@\:\/\'\.]*)\\"""",""Column2"":""(?<Column2>[\w \@\:\/\'\.]*)"",""Column3"":""(?<Column3>[\w \@\:\/\'\.]*)"",""Column4"":""(?<Column4>[\w \@\:\/\'\.]*)"",""Column5"":""(?<Column5>[\w \@\:\/\'\.]*)"",""Column6"":""(?<Column6>[\w \@\:\/\'\.]*)"",""Column7"":""(?<Column7>[\w \@\:\/\'\.]*)"",""Column8"":""(?<Column8>[\w \@\:\/\'\.]*)"",""Column9"":""(?<Column9>[\w \@\:\/\'\.]*)\\r""}"))
Now I imagine I just need to figure out the ForAll loop to iterate across all the rows of VarResponse and collect each entry into the TestColl collection. Still working through that piece.
Will post completed solution here once I find it in case anyone else finds it useful.
EDIT:
After taking a quick break, got it going:
ForAll(varResponse.Value,
Collect(TestColl,
Match(ThisRecord.Value, "\{""Column1"":""\\""(?<Column1>[\w \@\:\/\'\.]*)\\"""",""Column2"":""(?<Column2>[\w \@\:\/\'\.]*)"",""Column3"":""(?<Column3>[\w \@\:\/\'\.]*)"",""Column4"":""(?<Column4>[\w \@\:\/\'\.]*)"",""Column5"":""(?<Column5>[\w \@\:\/\'\.]*)"",""Column6"":""(?<Column6>[\w \@\:\/\'\.]*)"",""Column7"":""(?<Column7>[\w \@\:\/\'\.]*)"",""Column8"":""(?<Column8>[\w \@\:\/\'\.]*)"",""Column9"":""(?<Column9>[\w \@\:\/\'\.]*)\\r""}")
)
)
I'm still tweaking the regex to actually capture every row properly as some rows fail the match due to characters not in the original regex (Like the - and ( and ) characters). But that template will capture the original question in this thread.
Digging back into the regex rabbit hole since there has to be a better way to capture "any and all sequence of characters" but that is out of scope of this question.