The recent rumours have been telling that Manchester City are on a new duty to extend Haaland's contract. He has technically four more years on his current contract. However there have been news all around like his contract consists of a secret condition as well. After playing one more season for Manchester City there will be a release clause to be activated for him.
If this really happens in the summer of 2024 then it might be difficult for Manchester City to keep him any longer. Because he seems to be open for playing some other big European teams later. His father has also made a statement on this situation before. If Manchester City don't find a way to convince him for staying longer then I think his next team would be Real Madrid. It depends on whether Real Madrid sign Mbappe until then of course.