In the bowl of your stand mixer with the dough hook attachment, combine lukewarm milk and caster sugar. Add yeast, mix, and let it sit for 10 minutes until small bubbles form on the surface.
Whisk in the eggs, then add the flour and salt.
Knead the dough on low to medium speed for 5 minutes until all ingredients are combined. Gradually add the soft butter cubes a little at a time, kneading on low speed until fully incorporated.
Increase the speed of your mixer to medium to medium-high and continue mixing for about 20 minutes. The brioche dough should become very soft, stretchy, and just slightly sticky.
Cover the bowl with a tea towel and let the dough proof in a warm spot for about 2 hours until it doubles in size. Alternatively, you can proof it in the fridge overnight for 8 to 12 hours, or up to 24 hours.
Once proofed, punch the dough to deflate it, then transfer it onto a very lightly floured surface. Cut it into 10 equal pieces and shape each piece into a tight bun.
Place each bun onto individual squares of baking paper or parchment paper arranged on a large baking tray. Cover them with a tea towel and let them proof for 1 hour, or until they almost double in size.
Heat a large saucepan with Canola Oil or another neutral vegetable oil over medium heat until it reaches 170 degrees Celsius (340 degrees Fahrenheit). Use a candy thermometer to maintain the temperature and ensure it remains consistent during frying.
Gently drop each donut into the oil one by one, carefully peeling off the baking paper. Place them with the rounded, proofed side facing down and the seam side facing up. Fry for 2 minutes on each side until they turn golden brown.
Once fried, transfer the donuts to a wire rack lined with paper towels to drain any excess oil. Serve them fresh once they've cooled down.
Optionally, while the donuts are still warm, you can toss them in a mixture of caster sugar and cinnamon (or just sugar) for added flavor.