パスワードマッチングはクライアントインターフェイスに属し、サーバーに到達することはないと思います(DBレイヤーはすでに多すぎます)。 2つの文字列が異なることをユーザーに伝えるためだけに、サーバーのラウンドトリップを行わない方がユーザーエクスペリエンスに適しています。
シンコントローラー、ファットモデルに関しては...そこにあるこれらすべての銀の弾丸はオリジネーターに撃ち返されるはずです。どのような状況でも良い解決策はありません。それらのすべてを自分の文脈で考えてください。
ここにファットモデルのアイデアを取り入れることで、まったく異なる目的(パスワードマッチング)で機能(スキーマ検証)を使用できるようになり、現在使用している技術にアプリを依存させることができます。ある日、技術を変更したいと思うでしょう、そしてあなたはスキーマ検証なしで何かに到達するでしょう...そしてあなたはあなたのアプリの機能の一部がそれに依存していたことを覚えていなければなりません。そして、それをクライアント側またはコントローラーに戻す必要があります。