You're a contractor with a contract that ends on May 29th. If neither side wants to add another contract, it would be absolutely normal that you don't turn up on May 30th and stop sending bills, and that's it.
If either side wants to add another contract, they would probably ask about it say end of April or beginning of May. You might say "would you like me to come back, say for another three months" or they might say "would you like to work for us some time more, say for another three months". Obviously in your situation you wouldn't ask, and if the client asks, you would say "sorry, no, I've got other plans".
Now it might be that your client is a bit disorganized, and if you don't turn up on May 30th it would come to them as a total surprise. In that case you might mention the subject first. How much ahead of the end of the contract is up to you. I wouldn't do this four weeks ahead, unless you are fine with a bit of unplanned holiday, because no good dead goes unpunished. Two weeks at most.
Consider what the situation would be like for you if two weeks before the end of the contract they haven't said anything, and you need a job. You would have started looking for another contract a few weeks earlier, and you would take a different contract if they are not moving.