Preheat oven to 350°F / 175°C. Line the bottom and the sides of two 8" (20cm) baking pans with parchment paper. Set aside.
Make the cranberry filling: Place cranberries, water, orange juice, cornstarch, sugar, and cinnamon in a large saucepan and bring over medium heat to a boil. Cook for about 3-5 minutes until the cranberries get soft. Stir constantly. Blend cranberries with an immersion blender or mash with a potato masher to your preference. Cook another 5-6 minutes or until the filling has thickened and reduced by about ⅓. Stir constantly. Remove from heat and let cool to room temperature. It will thicken as it cools.
Make the orange cake: In a medium bowl combine flour, baking powder, and salt and stir to combine. Set aside. In a large mixing bowl with a stand or handheld mixer fitted with a whisk or paddle attachment, beat butter, oil, and sugar until creamy for about 2-3 minutes. Add 1 egg at a time and mix until fully incorporated. Add vanilla and orange zest and stir to combine. Alternately add dry ingredients, milk, dry ingredients, orange juice, and end with dry ingredients. Stir just until combined. Divide batter into the two prepared baking pans equally. Bake for 28-32 minutes or until a toothpick in the center comes out clean. Don't overbake or the cake will be dry. Let cool to room temperature.
Make the white chocolate frosting: Beat butter on medium-high speed until soft and creamy, about 1-2 minutes. Add powdered sugar and beat on medium-low speed until fully combined and smooth. Add chocolate and mix on medium speed until combined and creamy. Stir in 1-2 tablespoon of orange juice depending on the consistency of the buttercream. It should be smooth and creamy. Add salt to your taste.
Assemble the cake: Cut a thin layer off the tops of your cakes to create a flat surface. Then cut each cake in half horizontally. Place one cake layer on a cake stand or serving plate. Spread ¼ of the buttercream over the cake. The buttercream should be higher around the edges that it holds the cranberry filling inside the cake. Layer with ⅓ of the cranberry filling (where the buttercream is lower). Repeat two more times. Place last cake layer on top and lightly frost the outside and the sides of the cake with the remaining frosting. Chill 4 hours in the fridge. Store leftovers in an airtight container in the fridge up to 3 days.