Heat the oven to 425°F (220°C) and line a baking sheet with parchment. Toss the diced potatoes with a drizzle of olive oil, smoked paprika, garlic powder, and some of the salt and pepper. Spread them in an even layer and roast for 20–25 minutes, until crisp and browned at the edges. If using thawed frozen diced hash browns instead, crisp them in a lightly oiled skillet over medium heat: cook undisturbed for 4–5 minutes, season with the paprika, garlic powder, salt, and pepper, then turn and cook another 4–5 minutes until browned. Set the potatoes aside.
Heat a drizzle of olive oil in a large skillet over medium heat. Add the diced bell pepper, chopped green onions, garlic, and a little salt and pepper. Cook, stirring occasionally, for about 5 minutes, until softened. Add the chopped spinach and cook until wilted. Transfer the vegetables to a plate.
Whisk the eggs in a bowl with a little salt and several grinds of pepper. Return the skillet to medium-low heat, add a small drizzle of olive oil if needed, and pour in the eggs. Stir gently until just set and still tender, then remove from the heat.
Place a tortilla on a work surface. Arrange some scrambled egg, potatoes, sautéed vegetables, and shredded cheese in a narrow strip across the center. Fold in the sides, fold the near edge over the filling, and roll tightly to close. Repeat with the remaining tortillas and filling.
If serving immediately, lightly oil a large skillet and heat it over medium-low. Toast the burritos in batches for 2–4 minutes per side, until golden and crisp. Serve with salsa for dipping.
To freeze, wrap each assembled burrito tightly in foil and store in an airtight container or freezer bag for up to 3 months. To reheat from frozen, remove the foil, wrap the burrito loosely in a paper towel, and microwave for 3–4 minutes, turning halfway, until thawed. Microwave for another 2–3 minutes until heated through. Alternatively, crisp the thawed burrito in a lightly oiled skillet over medium heat until golden on both sides.