Preheat a dutch oven over high heat. Add 3 tablespoons olive oil, swirl to coat, and add beef. Season generously with salt and pepper and cook, stirring, until beef begins to turn golden, about 10 minutes.
Add remaining tablespoon olive oil and add onion, bell pepper, and garlic. Saute until softened, about 8 minutes more. Add cayenne, paprika, cumin, coriander, and dried oregano. Cook, stirring, until fragrant, 1 minute. Add tomatoes, beef stock, and red wine vinegar. Bring to a boil, reduce to a brisk simmer, and cook until reduced and nearly all liquid is cooked off, about 20 minutes.
Meanwhile, preheat oven to 450 degrees F. In a medium bowl, combine white beans, sour cream, and half of mozzarella and queso fresco. Season to taste with salt and pepper.
Grease a 9” x 13” baking dish with olive oil and spread 1 cup red sauce on the bottom. Create a layer on top with tortillas, cutting to fit if necessary. We used 5 tortillas per layer: 1 in each corner, and then a fifth tortilla, cut in half, placed in the center of the dish, to fill in the gaps. Top tortillas with one-third of the bean mixture and one third of remaining red sauce. Repeat twice more, ending with red sauce. Top with remaining grated cheeses and transfer to oven. Bake until lasagna is warmed through and cheese is bubbling and golden on top, about 20 minutes.
While lasagna bakes, combine avocados, lemon juice, and lemon zest in a medium bowl. Mash with a fork and season to taste with salt.
Remove lasagna from oven and let cool 5 minutes before slicing into squares. Serve, garnished with avocado topping.