Defoe was an example just to show how the signing on fees are bumped up. He wasn't out of contract but exercised a release clause when Sunderland got relegated. If his contract hadn't contained that then he would still have commanded a significant fee given his form in the previous season.
According to this (extreme pinch of salt) website, Bernard is the top earner at Everton. That's ahead of proven PL perfomers like Sigurdsson or Walcott and all their other huge signings in recent times. . The World Cup performer Mina signed from Barcelona. And so on.
https://www.spotrac.com/epl/everton-f.c/payroll/
Aaron Ramsey went to Juventus on a free to sign on for 400k/week.
If your agent doesn't get you significantly higher wages when you sign on a free then it's time sack him/her and get a new one.
The reason it doesn't happen more is risk not because you get the same money. Right now Ryan Fraser is one career threatening injury away from losing £10s of millions. I might be harsh but, subconciously at least, I believe that's been affecting his game this year.
He could sign the deal with us now and get the security of that contract then try and force through a move later. There must be a reason why he isn't... it can only be him and his agent believe they can get a bigger overall package by waiting. And that includes allowing for 18 months of lost wages at the higher bracket. At the moment all the risk lies with him, not us.
Many players won't want to take that risk because, as you said, they can usually engineer a deal anyway. It may cost them a certain amount of what they could earn if they waited but most people would take the safer option in that scenario.