Good catch, I also think it's a bug to keep the index entry. I reproduced with native git and see that it removes index entries in such cases:

>echo 1 > a
>git add a
>git commit -m first
[master (root-commit) 90b3be1] first
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 a
>echo 2 > b
>git add b
>git commit -m second
[master 67f8760] second
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 b
>git ls-files -s
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0       a
100644 0cfbf08886fca9a91cb753ec8734c84fcbe52c9f 0       b
>echo 3 > b
>git add b
>git ls-files -s
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0       a
100644 00750edc07d6415dcc07ae0351e9397b0222b7ba 0       b
>rm b
>git read-tree -m -u HEAD~
>git ls-files -s
100644 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 0       a