Personally, I think he will be redundant at Manchester City as the team is well-stocked and doesn't need another striker like Mbappe when they have Haalande. If both players are competing for the golden ball and are unlikely to stand competition with each other playing in the same team, it could have a negative impact on the team as a whole. But it's fair to say that it would be a great duo
The distribution of their roles within the team would be pretty clear though. Haaland is a center forward and nothing else. He could never play a different position and he doesn't have any special talent to play anywhere else other than in the center. But Mbappe is more versatile. He could play as a left winger for sure and he could get several degrees of freedom for his game. I would put him as a semi-winger / semi-center forward player if I had Haaland and Mbappe available at the same time. But I agree with you that for Mbappe it would be better to go to Real Madrid and have his position in the center saved.
Again, I don't know whether this can really be a goal for Manchester City to sign Mbappe, but if they want to, I think the solution would be to use Mbappe as probably the most dangerous winger next to Vinicius Junior that is out there at the moment.
Obviously, nothing is clear at the moment, but the transfer window is about to open and if Mbappe doesn't move to Real Madrid immediately, it may become clear that other teams are competing for him and Real Madrid won't like that very much, because they won't tolerate a second transfer failure.