In a large bowl, mix flour, sugar, salt, baking powder, and baking soda. Add yogurt and warm water gradually to form a soft dough. Knead for about 8 minutes until smooth. Cover and rest for 1 hour.
Divide dough into equal-sized balls. Roll one ball into a small circle, place a spoonful of onion filling in the center, fold the edges over to seal, then gently roll out again to about 6 inches in diameter.
Heat a skillet on medium-high. Cook each kulcha with a little oil until golden brown and puffed, about 2 minutes per side. Serve hot with butter or your favorite curry.