『<form method="post">』なフォームからアクセスされた場合、
if ($this->request->is('post')) {
// ...
}

などとして分岐していたのだが、これがうまくいかなかった。
小一時間悩んだ挙句、下記ページにたどり着く。
when the Request data contains a Model.id CakeRequest::method() is set to put.

つまり、モデルのID値がリクエストデータに含まれている場合、CakeRequest::method()はPUTになります。
( ;゚Д゚)ナ、ナンダッテー!!(゚Д゚;(゚Д゚; )

また、こうも書いてある。
You can see this in baked controller, edit actions.

つまり、bakeで作られたコントローラーのeditアクションのところで確認できますよー、と。
ほんまかいなぁ、と思ってみてみると、
if ($this->request->is(['patch', 'post', 'put'])) {
// ...
}

書いてあるじゃんーっ!

しっかし、このことって、当たり前なのかなぁ。
検索語の選定が失敗だっただけかもしれんが、なかなか情報がみつからなかった。

日本語では下記ページがありました。



ついでに、公式マニュアルより。
FormHelper はフォームの追加や編集のどちらなのかを自動的に 検出し、 $this->request->data を適切に利用します。もし $this->request->data にフォームのモデルに関連する名前がついた 配列要素が含まれていて、かつその配列に含まれるモデルのプライマリキー の値が空でなければ、FormHelper はそのレコードの編集用フォームを作成 します。
(略)
出力結果:
<form id="RecipeEditForm" method="post" action="/recipes/edit/5">
<input type="hidden" name="_method" value="PUT" />



つまり、formタグのmethod属性ではなく、hiddenタグの_method値で決定されるってことなのね。
これがワタクシメを悩ませたポイントでした。
ついでに言うと、実際には上記のようではなく、divタグに囲まれて出力されていました。
<div style="display:none;">
<input type="hidden" name="_method" value="PUT">
</div>

この所為でChrome Developer Toolsで見たときに一階層奥になって折りたたまれていたため(しかも不幸なことにそのすぐ下に自分が作ったhiddenタグがあったので余計に見つけにくくなったため)、発見できなかった、というのも一助となりましたとさ。