Place the flour and sugar into a saucepan over medium heat. Stir with a whisk for 1-2 minutes to toast the flour.
Gradually add the orange juice while continuing to stir. Then stir in the vanilla extract and salt.
Continue to stir the mixture with your whisk until it thickens. The flour will cause the mixture to thicken as it cooks, and this will happen at the base of the pan first, so stirring the mixture will prevent it from burning at the base of the saucepan.
Once the pudding has thickened, pour it into a heatproof bowl and cover with cling film, so that the cling film is touching the pudding (like a skin).
Leave the pudding mixture to cool completely. You can speed up this process by putting it in the fridge or freezer, but make sure that the pudding is at room temperature before starting the next step.
Place your butter in a clean bowl and whip it using your electric mixer until it is pale and fluffy.
Add the orange pudding to the butter, one table spoon at a time. Mix the butter well after adding each tablespoon of pudding to make sure it is full incorporated before adding the next tablespoon.
Once all the pudding has been incorporated, divide the butter into two equal bowls. Stir your cocoa powder through 1 of the batches of buttercream.
Transfer the buttercream to a piping bag fitted with a piping nozzle (see my the recipe notes and my post for how to achieve this two tone effect).
Pipe buttercream onto you cupcakes.
Decorate with sprinkles, chocolate pieces and dried orange slices.