Cook the potatoes. Cover potatoes with cold water by an inch in a saucepan. Salt and bring to a boil over a high flame (partially covering the pan will help it come to a boil more quickly). Reduce heat to medium and cook until potatoes are easily pierced with a sharp knife, about 15 minutes.
Drain and return potatoes to the pan. Cut up 3 tablespoons of the butter into the potatoes, season with more salt and mash with a hand masher. Add the half & half to the potatoes and mash some more—you want a nice, even mash, not lumpy.
Meanwhile, cook the cabbage. Place bacon strips in a cold, large lidded sauté pan. Cook bacon over medium heat until just crisp, turning frequently. Transfer bacon to a paper towel-lined plate. Slice remaining 2 tablespoons of butter into the pan and swirl to combine with the bacon drippings. Add cabbage and leeks to the pan. Season with salt and pepper and toss to coat with butter and bacon drippings. Cover pan and cook for 5 to 7 minutes, stirring occasionally, until cabbage is tender.
Assemble the colcannon. Crumble the bacon into the cabbage pan and add the mashed potatoes. Stir everything to combine thoroughly. The potatoes may seem too stiff at first, but almost immediately, the moisture in the cooked cabbage will soften them to a nice consistency. Taste and adjust seasoning with salt, if needed. (You can make colcannon ahead to this point, keep it covered on the stove and gently reheat before serving. You can even reheat leftovers the next day, but the cabbage will lose a little of the vibrant flavor it brings to the dish.)
Transfer colcannon to a serving dish and sprinkle with sliced scallion. Serve.