Membership proration
Even if you don't use a price set on a contribution page, the options that get presented end up being treated as a price set in the database.  Membership options in a price set don't need to be the minimum value of the membership itself, so my suspicion is that your hook isn't affecting the price options on the page, since they're set when you create the contribution page itself.

You'll need to use hook_civicrm_buildamount to change the actual price options' values on the form.