Melt butter in large pan over medium heat; heat oil in the melted butter. Cook and stir 1/2 diced onion until softened, about 8 minutes. Add garlic and cook and stir for 1 minute. Remove from heat. Stir in 1 teaspoon black pepper, cumin, cinnamon, cayenne pepper and oregano. Set aside to cool to room temperature.
Combine lamb, rice, 2 teaspoons salt, 1 tablespoon parsley, almonds and currants in a large bowl. Add cooled onion mixture and mix until combined. Cover and place in the fridge until ready to use.
Fill a large pot halfway with water and bring to the boil. Remove the core from the cabbage head and place the head in the boiling water. Cover and simmer until leaves begin to fall away, about 5 minutes. Remove the 2 outer layers of leaves to a kitchen paper-lined plate, cover and continue cooking for 1 to 2 more minutes. Remove the remaining large leaves to the plate. You will need 8 large and about 7 smaller leaves.
Preheat oven to 180 C / Gas 4.
Take 1 cabbage leaf and remove the root end. Place some of the lamb mixture toward the bottom edge of the cabbage leaf and roll into a log. Repeat with remaining lamb mixture and 7 more large leaves to create 8 cabbage rolls.
Line the bottom of a large casserole pot or baking dish with 4 or 5 smaller cabbage leaves. Place cabbage rolls on top; season with salt and black pepper. Add bay leaves and tomato puree. Pour in chicken stock. Sprinkle 1/2 sliced onion over the top and cover with 3 or 4 more cabbage leaves. Cover the pot or dish.
Bake in the preheated oven until the lamb is tender and the rice is cooked, 1 hour and 15 minutes to 1 hour and 30 minutes. Remove from the oven and allow to rest for 30 minutes. Serve with pan juices poured over the top and garnished with feta cheese and 2 tablespoons parsley.