Melt butter in large frying pan over medium heat; heat oil in the melted butter. Cook and stir diced onion about 5 minutes or until translucent. 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/4 cup parsley, almonds and currants in a large bowl. Add cooled onion mixture and mix until combined. Cover and place in the refrigerator until ready to use.
Fill a large pot halfway with water and bring to a 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 paper towel-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 degrees C.
Take 1 cabbage leaf and remove the root end. Place about 1/2 cup 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 dish or Dutch oven 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 casserole.
Bake in the preheated oven until the lamb is tender and the rice is cooked, 1 - 1 1/2 hours. 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.