Heat the olive oil in a skillet over medium heat. Add the onion and cook until softened and lightly golden, about 8 minutes. Add the beef, paprika, salt, baharat, and granulated garlic. Cook, breaking up the meat, until browned and the liquid has evaporated, about 10 minutes. Transfer to a fine-mesh strainer to drain completely, then refrigerate until chilled.
In a medium bowl, combine the semolina and salt. Add the olive oil and warm water gradually, mixing and kneading until a soft, slightly sticky dough forms, about 3 minutes. Cover and refrigerate for 20 minutes.
Divide the dough into 20 portions. Roll each piece into a thin round. Place 1 tablespoon filling in the center and press lightly to compact. Fold the dough around the filling and seal tightly, trimming excess dough if needed. Roll gently into smooth balls. Transfer to a parchment-lined tray and freeze while preparing the soup.
Heat the olive oil in a large wide pot over medium heat. Add the onions and cook until softened, about 8 minutes. Stir in the beets and celery and cook for 5 minutes. Add the tomato paste, paprika, citric acid, sugar, baharat, and black pepper and cook until fragrant, about 2 minutes.
Pour in the water and bring to a boil. Cover partially and simmer until the beets are tender, 25 to 30 minutes. Taste and adjust seasoning.
Reduce the heat to low and gently add the kubbeh. Simmer uncovered until the dumplings are tender and cooked through, about 35 minutes. Stir in the lemon juice and serve hot.