Thanks for the detailed explanation. That makes sense now and it also explains why none of the approaches I tried had any effect.
We'll go ahead with the custom per-tenant worker and use our tenant-aware DbContext to manage the background jobs instead of the built-in store.
Just out of curiosity, is there any plan to support tenant-specific background job stores (for database-per-tenant scenarios) in a future ABP release?