Eigenlijk volgens de documentatie,
Als er een index voor het veld bestaat, vergelijkt MongoDB de reguliere expressie met de waarden in de index, wat sneller kan zijn dan een verzamelingsscan. Verdere optimalisatie kan plaatsvinden als de reguliere expressie een "prefixexpressie" is, wat betekent dat alle potentiële overeenkomsten met dezelfde tekenreeks beginnen. Hierdoor kan MongoDB een "bereik" maken van dat voorvoegsel en alleen overeenkomen met die waarden uit de index die binnen dat bereik vallen.
http://docs.mongodb.org/manual/reference/operator/query/regex/#index-use
Met andere woorden:
Voor /Jon Skeet/
regex, mongo scant de sleutels in de index volledig en haalt vervolgens de overeenkomende documenten op, wat sneller kan zijn dan het scannen van de collectie.
Voor /^Jon Skeet/
regex, mongo scant alleen het bereik dat begint met de regex in de index, wat sneller zal zijn.