Whisk almond flour, coconut flour, sweetener, baking powder, salt, and cinnamon in a large bowl until no lumps remain.
In a separate bowl, whisk eggs, melted butter, vanilla, and 2 tablespoons almond milk.
Pour wet into dry and stir until a soft dough forms. If it feels stiff or crumbly, add the extra tablespoon of almond milk. The dough should hold together but feel slightly tacky.
Lightly oil your hands. Scoop tablespoon portions and roll into balls about 1 to 1 1/4 inches across. Place on a parchment-lined tray.
Heat 1 1/2–2 inches of avocado oil in a heavy pot to 325–340°F. Keep the temperature steady for even browning.
Fry in batches for 2–3 minutes, turning gently until golden on all sides and cooked through.
Transfer to a paper towel–lined rack to drain.
Preheat the oven to 350°F. Place the balls on a parchment-lined sheet.
Bake for 12–15 minutes, until lightly golden and set in the center. The bottoms will brown first; avoid overbaking.
Melt butter in a small saucepan over medium heat. Stir in brown-style sweetener and cook until dissolved and glossy, about 2–3 minutes.
Slowly whisk in the heavy cream and a pinch of salt. Simmer gently, stirring, until thickened and coats the back of a spoon, about 4–6 minutes.
Remove from heat, stir in vanilla, and let it cool for a few minutes to thicken further.
Drizzle the warm caramel over the donut holes or toss them gently in a bowl with the caramel for an even coat.
Serve warm for the fluffiest texture, or let them set for a chewier caramel shell.