So, a couple things,
Teams don't need 2.5 mil to fit Kubalik, they need about 1.5 plus a willingness to waive a guy he'd be replacing. No team is acquiring Kubalik on top of their current roster, they'd either waive a player or send one back for us to waive.
Teams don't need to carry 23 or 22 roster players, if they are willing to go down to 21 or even 20, they can add 1.5 to 2.3 just by dropping one additional healthy scratch beyond the guy Kubalik replaces. I don't see any teams willing to drop to a 20 man roster to accommodate Kubalik but that only eliminates 5 teams.
So with that in mind, the min needed to accomodate Kubalik is a 22 or more man roster, and 200k to 1 mil in cap space depending on the players you remove from your roster.
You're half right.
Yes, a team would either bury Kubalik or send someone down. Which means they only need to open up about 1.725M for Kubalik or 1.25M for Brannstrom on their roster. Or, if they bury either player it's a bit less than that since they would get back 1.125M.
But that's still opening up 2.5M of cap space. It just means that some teams have a reasonable avenue to create .775k of that 2.5M as part of the acquisition. It's splitting hairs.
With that said, teams aren't going down to 19 or 20 players just to fit Kubalik in. A lot of the teams who could fit him in are already rolling with 20-22 player rosters. Even a team coming down from 23 to 22 just to make additional room for Kubalik would be questionable. He's a solid middle-six scorer, not anything more.
There is a massive opportunity cost to Cap space. Unless you're getting a 2nd or 3rd round pick with Kubalik or Brannstrom and hoping you can flip them for another pick at the deadline, it's not worth it for a team with cap space. They will get better assets with it down the line by using that cap space to bank more cap room that they can leverage at the deadline.
On the topic of Garland:
The reason there is a market for Garland is because the Canucks are able to make cap considerations. For example, one name brought up in Garland rumors was Peeke on Columbus. Moving out almost 3Mx3Y as a sunk cost makes it easier to justify taking 5Mx3Y. It's a completely different situation, and it wouldn't surprise me if some of the situations talked about with Garland involve further retention and are closer to cap in/cap out with an asset maybe going to Vancouver.