I believe the bit saying [APK unavailable, skipped] means that that the package-blah.apk is not cached locally, so it will re-download from the repo for the fix.
it doesn't re-download it like what you say or expected, for example, I will delete nano from /usr/bin/nano then when i run apk fix --reinstall nano the nano binary file is still not reinstalled by apk. It totally skipped it just like what the error message says
might be a different scenario if nano apk is in apk cache?
There's definitely something funky going on. I tried some experiments, doing what you did, deleting the binary from a package and then apk fix --reinstall didn't bring it back, but apk fix (no --reinstall) did. Weird, but whatever.
Then I tried it again, and both with and without --reinstall worked and restored the missing binary. wtf? Now I can't reproduce the "doesn't restore" behavior at all.
And there's no .apk cached locally, just the indexes.