Cover beans with at least 2 inches of water in a large bowl. Cover loosely, and let soak overnight at room temperature.
Drain beans; transfer to a medium saucepan. Add stock, herbs, spices, and salt. Bring to a boil, then reduce heat to medium-low. Simmer beans until tender, 15 to 20 minutes. Drain beans; reserve cooking liquid. Discard bay leaf and cinnamon stick. Let liquid cool completely.
Heat oil in a medium skillet over medium-high heat. Add onion; reduce heat to medium. Cook, stirring occasionally, until caramelized, about 25 minutes.
Pulse beans and 1/2 cup cooking liquid in a food processor until smooth. Add more cooking liquid if needed to reach desired consistency. Transfer to a serving bowl. Top with yogurt, then onions. Serve with chips. Dip can be refrigerated in an airtight container up to 3 days.