insufficient storage - df - sufficient conditions?
There's a related thread on XDA describing a work-around. Adapting it a little so you don't need that "specific tool" (LP):


Set the install location explicitly to internal storage:

pm set-install-location 1 # (0=auto (default), 1=internal, 2=SDCard)

Clear the Play Store settings


Now your install should go through.

As the comment in the code line shows, by default Android is set to automatically chose the storage the install should go to. It seems something is messed up in that evaluation. So by making your wish explicit, that "auto evaluation" routine is skipped, and thus the error avoided. If that's what's behind the issue, it should work as well setting your preferred storage to 2 (SDCard) if you prefer that.

Reading your comment, the culprit might have been a little different at least in your case: If you had set the install location to 2 and then removed the card, it's pretty much clear why there's "insufficient storage" on the empty slot :)