Heat oven to 375 degrees. Add the potatoes and cauliflower florets to a large, rimmed baking sheet. Drizzle 3 tablespoons oil over the top, toss to coat and season with salt and pepper. Roast until the vegetables are brown and tender, stirring halfway through cooking, 35 to 45 minutes.
When the vegetables are almost finished roasting, add the shallots and remaining 1 tablespoon oil to a large, heavy-bottomed pot and lightly season with salt and pepper. Cook, stirring occasionally, until the shallots are translucent, about 5 minutes. Carefully add the roasted vegetables and stir to combine.
Stir in the stock and miso, scraping the browned bits from the bottom of the pot. Bring to a simmer and cook until the vegetables are very tender, about 15 minutes. Add the half-and-half, if using. Use an immersion blender to puree the soup, leaving a few larger bits for texture. Alternatively, puree in a blender in batches. Season with salt, pepper and lemon juice to taste.
Divide among bowls and garnish with yogurt or sour cream and fresh herbs, if using. The soup will keep, refrigerated, for up to 3 days.
