Heat butter in a large Dutch oven or saucepan over medium heat until melted. Add onion (or leek) and garlic, season with salt and pepper, and cook, stirring frequently, until softened but not browned, about 5 minutes, adding olive oil as necessary to keep the mixture loose and moist.
Add potatoes and stock and bring to a simmer, stirring occasionally. Add kale and continue to cook until russet potato slices have completely broken down (you can press them with a spoon or potato masher for an even thicker texture), the Yukon Golds are tender, the greens have softened, and the soup has thickened to a creamy consistency, 25 to 30 minutes. Stir in sausage. Season soup to taste with salt and pepper and serve garnished with chives, if desired.