FAISS is not suitable for production. The dedicated vector search solutions solve all the issues you mentioned: you just store the metadata along with vectors in JSON format. At least, with Qdrant, it works like this: https://qdrant.tech/documentation/concepts/payload/
miniCOIL is a contextualized per-word embedding model. It generates extremely small embeddings (8dim or even 4dim) while still preserving the word's context for each word in a sentence.
I can answer how it would be in Qdrant if interested. The index will take around 70GB RAM. New vectors are first placed in a non-indexed segment and are immediately available for search while the index is being built. The vectors and the index can be offloaded to disk. Search will take some milliseconds.
Did you look a bit deeper? Qdrant is written in Rust from scratch. The project is over three years old and started long before the "gold rush." :)
Run it wherever you want, in your data center, locally, with no limitations.
https://github.com/qdrant/qdrant-helm