Unique asset_work/asset_publish paths from templates.yml based on Pipeline Step?

That sounds like the right way to go!

You could potentially also use the template_hook to dynamically set the template to use based on the context.
Here is an example on how to use that: