Sigh... I found a bug in my tenant mapping function and the wrong tenant was being selected there.
Thanks for the reply in any case :)
Ok, I kinda figured it out...
I have initialised my tenant db with the user I need, when combined with DisableFilter(MayHaveTenant) and SetTenantId(TenantId) I can retrieve the user I want. I guess the users will need to have unique email addresses across tenants, so they can be identified. I will worry about this in the user creation process, so that I validate that the user isn't registered in another tenant (my business rules).
Is that the correct approach?