Hey @reynel_castelin -
You're headed down the right road. The external lookup field should be able to source it from the existing table (so long as it has an open API)... this would eliminate the need to care for the data in the external system and again in Workfront.
Fusion is also an option, based on selection A go get data from the external site and pull to fill fields B, C, D. Does add a "pause" to the flow since Fusion has to be triggered but with 10k rows the external lookup field could be very slow as well... I have not tested with that much data. May need to find a way to subset the data so you are only looking through parts / quarters of it at a time. If users are not familiar with the external lookup field they may think it is broken instead of just loading.
A data table inside of WF is also an option... utilizing a project with rows to act as the data store with a task level custom field filled in with the parameters. You can only hold 5k tasks in one project though so you'd still have to subset with this method.
Lastly, using Fusion to hold a data store is another option. Depending on your Workfront plan, data stores are based around total size not rows so you may be able to capture all data in one place here and refresh as needed. I would only do this if you cannot have an active API to the external/existing table otherwise you are just duplicating the table into Fusion for no reason.