@sasrsc
This is because _t is a table of records. You only want to reference a value, not a table.
Everything is on "context"! Meaning, when you reference a column name for something, PowerApps will reference the "closest" thing to it in context. So, since Result is used, it looks for the closest reference - which is the record of the ForAll table iteration.
Also, you can refine your formula a bit more to:
ClearCollect(colMetrosUsed,
With({_t: Distinct(HotelRFP, metroId)},
ForAll(_t,
With(LookUp(colMetros, ID = Result),
{
metroName: field_1,
metroCode: Title
}
)
)
)
)
You'll notice in the second With, there is no variable name provided. This is because With will provide an entire record for the context of the With scope. When it encounters field_1, for example, it will look to the closest reference of that...which is the LookUp record result.
I hope this is clear and helpful.