This point is no point at all.
He was sent down to Pawtucket in favor of Drew. He got hurt. These two incidents have no causative relationship whatsoever, and in fact as I recall, Kalish got hurt very early in the year and may have been "playing through the pain" since Spring Training or before, if his batting line before he went down is any indication.
If you want to play the woulda-coulda-shoulda game, you need to have a stronger "coulda." In an alternate universe where Kalish doesn't get hurt, he also comes up with the team at about the same point Reddick did or before, and probably outperforms his final season numbers. But there was nothing wrong with stashing Kalish in the minors when it was done. Nearly every team in baseball will do it that way, and the kid usually winds up winning the job in the end. For it to play out that way though, it was up to Kalish to make that situation temporary and he turned around and did the exact opposite.
Few to no teams will fail to favor a veteran in April. The vet has to play his way into a competition in order to bring the kids into play, that's how it's always gone, whether the veteran ultimately won the competition or the kid did. This time, ultimately, nobody won the competition, since the closest thing to a winner was shipped out of town at the first opportunity.
You can't divorce the situation from Kalish's responsibility to make the most of his chances. Now maybe it isn't his fault, but that doesn't make those chances magically seized, any more than it did with Jed Lowrie when it was his turn, or a number of other injury prone "potential stars." If Kalish wasn't in a position to push for a starting job for whatever reason, it's hard to fault the GM for not handing him one.