Season beef with salt all over, set aside. In a large heavy bottomed pot or Dutch oven, heat ghee over medium heat until shimmering. Add the bay leaves, cardamom, mastic resin (if using), black peppercorns, allspice, and cinnamon, and cook, stirring constantly, until fragrant, about 30 seconds. Working in batches to avoid crowing the pot, add beef in a single layer (you can leave the whole spices in the pot). Increase heat to medium-high and cook, turning occasionally, until beef is browned all over, about 8 minutes. Transfer to a plate with the whole spices and repeat with remaining beef.
Add onion and garlic to the pot and cook over medium-high heat until beginning to blister, about 1 minute. Heat oven to 300.
Return beef and whole spices to the pot along with any accumulated juices. Stir in hot water (the water should cover the beef by about 1 inch; if necessary, add additional water) along with parsley stalks, cumin, coriander, paprika, and cayenne. Bring the broth to a boil over medium-high; let boil for 5 minutes.
Move to the oven and bake uncovered at 300 until the meat is fully tender, about 2 hours. Season with salt and add beef bouillon cube or beef powder, if desired. Remove from heat and let cool slightly, about 5 minutes.
Strain the broth through a fine-mesh strainer set over a large heatproof bowl. Transfer the cooked beef cubes to a separate plate, discarding onion, garlic, parsley stalks, and whole spices, then cover broth loosely to keep warm. Transfer the broth to a clean medium saucepan, skimming and discarding any fat on the surface; you should have 4 cups of broth (if necessary, add additional water to reach 4 cups). Cover to keep warm.