I had to abandon ThreadLocal myself because everything was running on the FX thread...you might be ok if you're passing around the scope parameter into all your calls
If you call find(MyClass::class)...will you get the properly scoped object (singleton, prototype, customer)?