Within the flutter engine, I see four uses of fml::ThreadLocal, all of which use it to basically implement a thread_local unique_ptr. If there was a fml::ThreadLocalUniquePtr class, it would eliminate the reinterpret_casts.
[I think this is a small cleanup effort and I'm happy to do it myself; just filing an issue first for discussion per https://github.com/flutter/flutter/wiki/Tree-hygiene.]