Thank you for the questions and comments. I would like to note that the documentation and introductory articles primarily focus on explaining how to use FHE and the OpenFHE API. The question you are asking is on the the advanced use of the library. For these, it is better either to search using Welcome to OpenFHE’s documentation! — OpenFHE documentation or look at the header/source files directly.
How key objects are stored within a cryptocontext is described in the header file for cryptocontext (openfhe-development/src/pke/include/cryptocontext.h at main · openfheorg/openfhe-development · GitHub) or doxygen documentation from it Template Class CryptoContextImpl — OpenFHE documentation (searchable via ReadTheDocs).
The implementation for deduplicating cryptocontexts can be examined at openfhe-development/src/pke/lib/cryptocontextfactory.cpp at main · openfheorg/openfhe-development · GitHub The doxygen-generated documentation at Template Class CryptoContextFactory — OpenFHE documentation can also be useful.
I also suggest reading OpenFHE discourse topics on the same issues. The Discourse documentation should be treated as additional OpenFHE documentation. See, for example, Is CryptoContext global?.