Oxtail is not lean. Once the bone is out, cooked oxtail meat is about 260 calories per 100g, and roughly half of that is fat and gelatin. A restaurant bowl has 180 to 200g of bone-in pieces, which is about 100g of actual meat and fat, so 250 calories before the soup. The long simmer pulls fat into the broth, and 300ml of that broth with the shine on top is another 90. The carrot, potato and tomato are 30.
That makes the plain bowl about 380 calories with 28g protein, which is a good ratio. The problem is the price and the format. At Rp 60,000 to 120,000 a bowl in a Jakarta restaurant, it comes with rice, emping, kerupuk and sambal, and the full set is 700 calories. At a warung it is Rp 30,000 to 45,000 with a smaller piece of tail and closer to 300.
Sop buntut goreng is the popular variant: the oxtail is boiled, then deep fried, then served with the broth on the side. The frying adds 100 to 120 calories and the crispy edges are exactly where the fat is. Sop buntut bakar (grilled with kecap) is a bit lighter than fried but the kecap glaze adds about 40 calories of sugar.
Emping is the sneaky add. A small plate of the melinjo crackers next to the bowl is 80 to 100 calories, and they are there to be eaten with the soup. Two rounds of emping is more than the vegetables in the bowl.