Maybe comparing between players is not very appropriate, because these players have different characteristics and also as you mentioned different playing positions so that they give different results, also which club they play for is very decisive.
Haaland still has a very long career at the age of 22, he can achieve many achievements when he remains consistent, and also when he can correctly choose the club where he will have a career, because it is possible that Haaland will look for other clubs and not only in the English Premier League to get more.
It is clear that comparing players is not the right thing, because as you said every player has a different character for different results. No matter how good the players are, in fact, they cannot be used as a reference for a club's success, because there are indeed those who cannot contribute as expected when they are in a club where it is difficult to adapt to the players. With the quality and various achievements that Haaland has achieved, I don't think Manchester City will even plan to let him go, because after all he is an important asset in every game that Guardiola has and he is the spearhead who can always lead the club to win several wins. Although on the other hand, he has achieved a lot with Manchester City one of which is the Treble Winner and I think it is possible for him to seek new challenges with other clubs because maybe his goals have already been achieved.
It is very clear that Pep Guardiola really likes Haaland's playing style and thinks Haaland is what is needed to complement the strengths possessed by Man City. And the contribution of every player on the field is needed to achieve the success of a club and also to strengthen the performance of each club. So a club really can't depend on one player who is superior. because in reality even superior players cannot do much without the help of their teammates.