I think you answered your own question there. Castro seems to have a pretty limited upside. Some have suggested he can be more of a 20-25 HR SS soon. I'm not entirely convinced of that but even if he is I'm not sure he's a great fit for their likely future lineup. On a lot of teams, having that sort of power out of SS would be great. However, between Soler, Rizzo, Baez, Bryant, and Schwarber now you have numerous 30+ HR potential types. What they lack is speed and the high on base you'd expect out of typical lead off hitters. Castro honestly doesn't have plus speed anymore(only attempted 2 steals this year). That's also before you consider the fact that Alcantara and Almora also have decent power given their likely positions. So while nice, it's not something you have to have.
Alcantara is a better combination of speed/power and potentially OBP if he starts walking at a similar rate to last year. He however doesn't have the defense to play SS and is thus stuck as a 2B. SS carries a premium on it and thus is more valuable in trades. The real question is whether or not Baez has enough defensive chops to stick at SS. If he does and if Alcantara and him are the players they are hyped to be they are likely better players out of the middle infield. And while you could in theory play Baez at 3B and Bryant in the OF, that pushes a likely very good offensive player into a position that typically already has good offense. A 30 HR Baez at SS is potentially an MVP candidate. A 30 HR Baez at 3B while good is hardly as rare. In other words, you're basically supplanting a corner outfielder with Castro offensively. For that to work out favorably, Castro needs to either be as good offensively or good enough that his defense at SS makes the difference which at this point is questionable.
Some people are more adamant about trading him than I am at this moment. I've long said that what I would do is move him over to 2B and have him and Alcantara battle it out until one proves to be a clear cut winner. If that is Alcantara, then you consider a trade. But if you're asking why I would trade him that's simple. I think unlike some other players, we've already seen the best Castro has to offer at 24. He may add more power but he's already lost a the little plus speed he had. And he's at best a .340 OBP hitter which is starter caliber but far from irreplaceable. Castro's biggest problem in my eyes is that he's an offense first shortstop who is going to hit 6-8 in most any decent line up. If he gave you above average defense with that then great. But he's only had one year with a positive UZR/150. And while not a total liability there, he's at best average.
Ultimately, it's quite likely they will end up with better options there assuming Baez sticks at SS. Even if Alcantara fails, the way Bruno has played at 2B in AA makes him likely enough of a prospect to warrant consideration down the line. And you also have the possibility of Villanueva or Calendario moving to 2B if 3B is blocked. And while Castro is a good player, if he can net an equal level pitcher or potentially better, it's likely that is a better fit for the cubs.