コンストラクター関数が自動的にインスタンスを返すというよりは、関数はthisに対する操作の役割しか持たずに、戻り値は無視されるといったほうがわかりやすいかもしれません。
注意を促したいのは、この 戻り値が無視される という性質についてではないかと思います。
つまり「無視されるので何かをreturnしてもその値が返される訳ではないですよ」という注意なのではないかと。
ちなみにJavaScriptのコンストラクターを理解する上で、個人的にしっくり来た説明を紹介します。
javascript
1// 普通に初期化
2var instance = new SomeClass("初期化パラメーター");
3
4// 以下3行で、ほぼ同じ動きをする
5var instance = Object.create(SomeClass.prototype);
6var constructor = SomeClass.bind(instance)
7constructor("初期化パラメーター");
どこかでこんな説明を見た時、あぁ、そういう動きなんだと納得しました。
5~7行目で、5行目はSomeClassのprototypeオブジェクトをプロトタイプとするオブジェクトを作ります。
new した時も、SomeClassのprototypeオブジェクトをプロトタイプとするオブジェクトができるのでこれは同じです。
6行目、SomeClassをただの関数として実行した時、thisがinstanceを指すようにbindされた関数を作成します。
最後にその関数を実行すると、instanceの状態がnewした場合と同じになります。
一番下のconstructor(...)の戻り値は捨てられていますよね。
あくまでinstanceをthisとした処理をして、instanceの内部状態を初期化する役割しかないということです。