To make the yogurt, pour the milk into the Instant Pot. Enclose the cardamom pods in a square of cheesecloth and add to the pot.
Lock the lid in place and turn the valve to Sealing. Press the Yogurt button until the screen says boil and cook until the milk reaches 180°F, about 25 minutes.
Have ready an ice-water bath. Remove the lid and check the milk temperature with an instant-read thermometer. If it is not 180°F, press the Keep Warm/Cancel program to reset the program, then select Sauté and heat until it reaches 180°F. Remove and discard the cardamom.
Transfer the inner pot to the ice-water bath, then stir the milk until it cools to 110°F, about 10 minutes. Transfer 1 cup of the milk to a small bowl, whisk in the yogurt until smooth, then return the milk-yogurt mixture to the pot and add the granulated sugar, cardamom, and vanilla. Whisk until blended.
Return the inner pot to the Instant Pot housing. Lock the lid in place; the valve can be turned to Sealing or Venting. Press the Keep Warm/Cancel button to reset the program, then press the Yogurt button and set the cook time for 10 hours. When the yogurt is ready (the screen will read Yogt), remove the lid, use pot holders to lift out the inner pot, cover it with plastic wrap, and refrigerate until the yogurt sets, about 4 hours. Do not stir at this point.
When the yogurt is set, line a large fine-mesh sieve with 4 layers of cheesecloth, place the sieve over a bowl, spoon the yogurt into the sieve, and refrigerate for 2 hours to drain.
Meanwhile, prepare the roasted peaches. Preheat the oven to 350°F. Butter a 9-inch square baking dish.
Arrange the peaches, cut side up, in the prepared dish. In a small bowl, stir together oats, butter, brown sugar, and cardamom, mixing well. Sprinkle the oat mixture evenly over the peaches. Roast in the oven until the peaches are juicy and tender and the topping is browned, 30–35 minutes.
To serve, spoon the yogurt into individual bowls and top with the peaches.