The default for `min_count` is 5, following the word2vec.c code on which gensim's implementation was originally modeled. That means that for whatever corpus that you provide for vocabulary-discovery purposes, words that appear fewer than 5 times will be dropped from the vocabulary and ignored during training.
Discarding low-frequency words is generally a good thing for word2vec model quality, as such infrequent words individually can't get good vector representations from so few examples – but altogether, all the low-frequency words soak up a lot of training effort, and wind up essentially 'interfering' with the quality of surrounding more-frequent words.
You can set `min_count=1` if you'd like, but that'll create a much larger-in-memory model, with a lot of low-value, low-quality infrequent words, that takes longer to train – a loss on almost every dimension, except the completist desire to have a vector-for-every-seen-word.
Often just ignoring out-of-vocabulary words is defensible choice – and most deployed systems need to be tolerant of novel unknown words, anyway. (So they should check for presence, or otherwise tolerate KeyErrors.)
Beyond that, I don't quite understand your questions (1)-(3). If they're not cleared up by the above explanation, can you re-word them for greater clarity about what you expect, why, and what you've tried or seen instead?
- Gordon