Please try this version of the plugin.
https://raw.githubusercontent.com/WheteThunger/Backpacks/master/Backpacks.cs
Once downloaded, open the Backpacks.cs file and remove the slashes from the line at the top of the file that says "// #define DEBUG_DROP_ON_DEATH" (basically, replace that line with #define DEBUG_DROP_ON_DEATH), then upload that to your server and make sure the plugin reloads. Then put something in your backpack and die somehow. The logs should have more log statements like the following.
[DEBUG_DROP_ON_DEATH] [Player ######] Backpack not dropped because the player has the backpacks.keepondeath permission.
[DEBUG_DROP_ON_DEATH] [Player ######] Backpack not dropped because "Drop on Death (true/false)" is set to false in the config.
[DEBUG_DROP_ON_DEATH] [Player ######] Backpack not dropped because the player has no backpack in memory or on disk.
[DEBUG_DROP_ON_DEATH] [Player ######] Backpack not dropped because it is empty.
[DEBUG_DROP_ON_DEATH] [Player ######] Backpack not dropped because another plugin blocked it via the CanDropBackpack hook.
[DEBUG_DROP_ON_DEATH] [Player ######] Backpack not dropped because it is empty, after reclaiming items for softcore.
[DEBUG_DROP_ON_DEATH] [Player ######] Backpack dropped.
If you don't see these logs, then one possibility is that you are using a plugin which uses the OnPlayerDeath hook in a manner that prevents the OnEntityDeath/OnEntityKill hooks from being called. If suspected, search the code of your other plugins for OnPlayerDeath, and try temporarily unloading those plugins and dying to see if there is any change.