It seems that the -w flag is effectively ignored, at least when invoking individual benchmark executables and supplying -w on their command lines.
The workloads call mith_main() and pass the -w argument as num_workers. This argument is not passed to mith_main_loop(), and is only used for the report output in mith_report_results(). In fact, mith_main_loop() only uses num_contexts to create threads.
Runs with various -c and -w values confirm that threads are only being created for -c.
I could easily be missing code where -w is actually being used in some way by mith. If so, that would be good to know, but I would also like to run these workloads individually with various -w and -c combinations.