Thanks for getting in touch.
The process you already have in place should be the correct one. I assume that you have the infrastructure process (creating an Azure Web App via PowerShell) in the same process as your application deployment.
First up, the steps that you had in place before the upgrade should continue to operate as they did before, please let me know if this is not the case.
The roles that you assign to a deployment target should be static. If you have many tenants requiring the same application then they should all have the same role name as per the role specified on the application deployment step.
Each time you release a new version of the application you will deploy it to one or more tenants, this will then create one deployment task per tenant, which will deploy the requested application version for each tenant.
There are additional concepts in Octopus which help you deal with tenants in different groups, such as using Tenant Tags. You can then use the tenant tags to specify different versions of the application get deployed to a select group of tenants using Channels.
If you send me back a process export (available on the overflow menu on the process page, called Download as JSON), and screenshots of your setup, along with a description of what you are trying to achieve, I will help you get over any hurdles you are getting.
Additionally, there is a legacy mode on the Azure Web App step which will ensure you can continue to use the step as you were accustomed to previously.
One last thing is a blog post which contains a walkthrough of working with Azure deployment targets and using the dynamically.