Think the rags put this option of an extra year in all their contracts that they unilaterally activate to protect their investments long term. Think Pogba and DeGea when they wanted out and had one year left in their contract. United refused to budge and activated the extra year. As a result the clubs that were calling lost interest because they couldn't wait another year and signed other players (think Courtois at Madrid). The players resign themselves to being stuck, and the interesting part is that they basically get an unwanted contract extension with no wage increase.
But as you say, they knew the contracts they were signing. Part of me thinks that they think it doesn't matter the length of contract if they want to leave. Unfortunately for them they found out that when the selling club doesn't budge it doesn't matter what they want. They did the same with Sancho jut now. They are basically six year contracts when they sign for 5. Why any of their players agree to this is beyond me.