Halve onions and ginger lengthwise, keeping skin on. Char in a dry cast iron skillet over high heat for 5-7 minutes until deeply blackened, then flip for 2-3 more minutes.
Toast star anise, cinnamon, cloves, coriander seeds, fennel seeds, and black cardamom in a dry skillet over medium heat for 2-3 minutes until fragrant. Wrap in a double layer of cheesecloth and tie with twine.
Place bones and brisket in stockpot, cover with cold water, and bring to a rapid boil for 5-10 minutes to release impurities. Drain, rinse bones and brisket thoroughly, and clean the pot.
Return cleaned bones and brisket to pot with 12-14 cups of fresh cold water. Add charred onions, ginger, spice bundle, fish sauce, sugar, and salt. Bring to a boil, then reduce to a gentle simmer.
Simmer uncovered for 3-4 hours, skimming foam and fat every 30 minutes. After 1.5-2 hours, remove brisket, shock in ice water, and refrigerate until serving.
Strain the finished broth through a fine mesh strainer, discarding bones, spices, and aromatics. Taste and adjust seasoning with additional fish sauce, sugar, or salt as needed. Keep warm over low heat.
Cook rice noodles in a separate pot of boiling water according to package directions. Drain and rinse with cold water to stop cooking. Divide noodles among serving bowls.
Thinly slice brisket across the grain. Place brisket and raw sirloin slices over the noodles. Scatter with white onion and green onion.
Bring broth to a full rolling boil and ladle generously over each bowl. Serve immediately with bean sprouts, Thai basil, cilantro, lime wedges, chilies, hoisin, and sriracha on the side.