migrationでは間違いなく
$table->boolean('is_xxx')->default(false);
と設定したはずが、データを取得するとint(0) / int(1)になっていることはないでしょうか。
実はMySQLではboolean型は無く、上記の設定で作成されるカラムは
`is_xxx` tinyint(1) NOT NULL DEFAULT '0',
となります。
そのためこれをこのまま取得すると0/1になってしまいます。
利用箇所で毎回キャストするのは面倒です。
ではどう対応するのか、Laravelの場合はModelにcastの機能があります。
参考:https://readouble.com/laravel/8.x/ja/eloquent-mutators.html
protected $casts = [
'is_xxx' => 'boolean',
];
これで返ってくる値がbool(true) / bool(false)となりました。
Laravelでbooleanを扱う場合は下記も参考にしてください。