What, no minimal, reproducible example? So I can only speak in generalizations here:
Proxies created with calls to index.ids() do not by default reference the same, single IdIndex instance.
If you are creating a single instance of IdIndex and passing its proxy reference to whomever needs to access it, whether in the same or different thread or process, then yes, there will be a single instance of IdIndex running in the process created by the manager. But if multiple proxies are created with code such as my_id_index = index.ids(), then there will be multiple IdIndex instances living in the manager's process. BTW, why are you naming an IndexManager instance index rather than the more meaningful index_manager or even just manager?