Cook the bacon on a baking sheet lined with parchment paper in a preheated oven at 375°F for 15-20 minutes until extremely crisp. Once cooled, chop into small, uniform pieces about ¼-inch in size. Set aside ¼ cup of bacon grease and allow to cool slightly.
Wash and thoroughly dry the apples, as any moisture will prevent the caramel from adhering properly. Remove the stems and insert wooden sticks firmly into the tops.
Place apples in the refrigerator for 15 minutes to chill. Meanwhile, line a baking sheet with parchment paper and lightly grease with cooking spray.
In a heavy-bottomed saucepan, combine sugar, corn syrup, butter, and the reserved bacon fat. Heat over medium-high heat, stirring until sugar dissolves completely.
Once bubbling, attach a candy thermometer and cook without stirring until the mixture reaches 240°F. Carefully add the heavy cream (it will bubble vigorously) and continue cooking until the thermometer reads 245-248°F (firm-ball stage).
Remove from heat and stir in vanilla, salt, cinnamon, and cayenne if using. Allow the caramel to cool for precisely 3 minutes before dipping.
Tilt the pot slightly and rotate each apple to coat completely, allowing excess to drip off for 15 seconds. The caramel should cling to the apple in a smooth, even layer about ⅛-inch thick.
Immediately roll each caramel-coated apple in the crispy bacon pieces, applying gentle pressure to ensure the bacon adheres well. Work quickly before the caramel sets.
Sprinkle each apple with a small amount of flaky sea salt while the caramel is still tacky. Place on the prepared baking sheet.
Allow the apples to set at room temperature for 15 minutes, then transfer to the refrigerator for an additional 30 minutes to fully set.