Cut the corn off the cobs, scrape the “milk” from the cobs with a knife, adding that to the kernels. Reserve the cobs.
Put the corn cobs, broth, and water in a Dutch oven or soup pot. Bring to a boil, cover, and simmer for at least 10 minutes to infuse the corn flavor into the broth.
Meanwhile, in a large skillet, melt the butter over medium heat. Add the onion and a sprinkling of salt, and cook about 4 minutes, until the onion starts to soften. Add the corn, ½ teaspoon salt, and pepper to taste.
Cook, stirring often, until the corn is tender and deepens in color, 4 to 6 minutes, adding a splash of water if the corn starts to stick to the pan. Remove from the heat.
Remove the corn cobs from the broth and discard. Add the potatoes to the broth and bring to a boil. Reduce the heat, cover and simmer 8 to 10 minutes, until the potatoes are just tender. With a potato masher, mash them slightly in the soup to thicken it a bit.
Add the corn and onion to the soup. Return the soup to a low boil, reduce the heat, cover, and simmer for 15 minutes to blend the flavors. Stir in the cream and warm through. Taste, adding salt and pepper if needed. Serve hot, with cherry tomatoes and scallions on top of each bowl.