input[type=file]でキャンセルすると保持していた値が消える問題。
そもそも value もアップロードされたファイルのパスではないし扱いにくい。
JavaScriptで value の複製もできないし。

その根本はセキュリティ上の理由。

取得できたら、その人のPCからアップロードされたファイルがどのディレクトリにあったかとかを取得できてしまうからね(JavaScriptで取得できるパスは fakepath のように実質的に隠されている)。

UX的にキャンセルではなく削除のような表記にしてくれるとありがたい。
まあ削除用のボタンを追加してくれたらいいんだけども。