awk の OFS は有効です
OFSの指定を無視して入力レコードがそのまま出力されます。
awkコマンドのOFSが無効になるとき - 杉風呂2.0 - A Lifelog -
実際には無視していません。
{print}
は $0 が省略されているだけで、$0 は FS で分割されているわけではなく、この場合には 1 行なので、正しい出力です。
#! /usr/bin/gawk -f BEGIN { FS = ","; OFS = "|"; } { gsub(FS, OFS); print; }
のようにすることで、$1 から $NF までのものを FS から OFS に変換したかのようにして出力しますが、この場合には $0 が gsub() で置換されます。
置換されたくない場合には gawk の gensub() を使うことで回避できます。