Peel and dice potatoes into small, uniform 1/4-inch cubes. Spread on a kitchen towel and pat thoroughly dry to remove surface moisture.
Heat 1 tablespoon of olive oil in a cast iron skillet over medium-high heat. Add dried potatoes in a single layer and season with 1/4 teaspoon salt, smoked paprika, garlic powder, and onion powder. Cook undisturbed for 4-5 minutes until golden brown, then flip and cook another 3-4 minutes until crispy. Transfer to a paper towel-lined plate.
In the same skillet over medium heat, add breakfast sausage, breaking into crumbles. Cook for 5-7 minutes until fully browned. Transfer sausage to plate with potatoes using a slotted spoon, leaving fat in the pan.
Add remaining 1 tablespoon olive oil to the skillet if needed. Add diced onion and bell pepper, cooking for 3-4 minutes until softened. Add cooked sausage and potatoes back to the pan, stir to combine, and keep warm over low heat.
Whisk eggs with milk, remaining 1/4 teaspoon salt, and pepper in a bowl. Heat a nonstick skillet over low heat with butter or cooking spray. Pour in egg mixture and gently push curds from edges toward center with a silicone spatula for 3-4 minutes until just set and slightly underdone. Remove from heat.
Heat a dry skillet over medium heat. Warm each tortilla for 20-30 seconds per side until soft and pliable. Keep wrapped in foil or a towel while warming remaining tortillas.
Lay a warmed tortilla flat. Layer 1/4 of the sausage-potato mixture, 1/4 of the scrambled eggs, and 1/4 cup shredded cheddar cheese down the center. Add avocado slices and salsa if desired. Fold the bottom edge over the filling, fold in both sides, then roll upward tightly.
Place assembled burritos seam-side down in a warm skillet over medium heat. Cook for about 1 minute per side until lightly golden and the cheese is melted. Serve immediately with extra salsa, sour cream, or hot sauce.