How is the "base value" of SHAP values calculated?
As you say, it's the value of a feature-less model, which generally is the average of the outcome variable in the training set (often in log-odds, if classification).  With force_plot, you actually pass your desired base value as the first parameter; in that notebook's case it is explainer.expected_value[1], the average of the second class.

https://github.com/slundberg/shap/blob/06c9d18f3dd014e9ed037a084f48bfaf1bc8f75a/shap/plots/force.py#L31

https://github.com/slundberg/shap/issues/352#issuecomment-447485624