Arguments can be sent as dictionary…you might need to define a dIctionary and add the argument data and required input argument names to it..then click plus beside arguments and select open advanced editor to pass the dictionary
Other way is to declare all arguments in all workflows this way arguments will remain same but few values might be missing but anyways there are not use so no harm in it
I would say approach 2 better as it avoids dynamic dictionary creating again based on condition
Cheers