こんにちは。
表現が正確ではないかもしれませんが、ベクタデータの形式によってデータプロバイダが違うので、プロバイダ地物フィルタはそのプロバイダに対応したフィルタ式しか正しく認識しないのだと思います。
shpの場合、属性データはdbf(dBASE)に格納されています。
LIKEを含む①~③に挙げていただいた式はSQLに準拠したものですが、dBASEではこれらを認識しません。
なので、添付していただいたサンプルデータをこちらの環境で確認しましたが、フィルタが効かなかったり、属性データはフィルタされているのに地物はフィルタされなかったり、いずれも正しいフィルタ結果は得られませんでした。
これに対して、GeopackageはSQLiteデータベースなので、LIKEを含むSQLが利用できます。
izayoiさんが①について言われた通り、NULLでもフィルタが機能します。
なお、NULLを抽出するために使用する比較演算子は、ISです。なので、①は
"新市名称" IS NULL
となります。原文ではシングルクォーテーションを2つ使用して''NULL''とされていましたが、こうした表記は無効です。
②については、LIKEの方が曖昧な比較となります。
たとえば、
はFALSEですが、
'a' LIKE 'A'
はTRUEとなります。日本語を含むマルチバイト文字を比較する場合はあまり気にする必要はないかもしれません。
なお、LIKEとINは組み合わせられませんので、ANDやORを使って組み合わせることになります。
詳しくはSQLiteのリファレンスをご参照くださいませ。