Lightly spoon flour into measuring cup; level off. In large bowl, combine 2 cups flour, sugar, salt and yeast; mix well. In small saucepan, heat water, milk and 1/4 cup margarine until very warm (120 to 130°F.). Add warm liquid and egg to flour mixture; blend at low speed until moistened. Beat 3 minutes at medium speed.
By hand, stir in remaining 1 1/2 to 2 1/2 cups flour to form a soft dough. Cover loosely with greased plastic wrap and cloth towel. Let rise in warm place (80 to 85°F.) until light and doubled in size, 45 to 60 minutes.
Grease large cookie sheet. Melt 1/4 cup margarine in small saucepan; stir in all remaining filling ingredients. Set aside.
Stir down dough to remove all air bubbles. On floured surface, toss dough until no longer sticky. Roll dough into 18x12-inch rectangle. Cut rectangle in half crosswise to make two 12x9-inch rectangles; cut each rectangle into three 9x4-inch strips.
Spread about 2 tablespoons onion mixture over each strip to within 1/2 inch of edges. Bring lengthwise edges of each strip together to enclose filling; pinch edges and ends to seal.
On greased cookie sheet, braid 3 rolls together; pinch ends to seal. Repeat with remaining 3 rolls for second loaf. Cover; let rise in warm place until light and doubled in size, 25 to 30 minutes.
Heat oven to 350°F. Uncover dough. Bake 27 to 35 minutes or until golden brown and loaves sound hollow when lightly tapped. Immediately remove from cookie sheet; cool on wire racks for 1 hour or until completely cooled.