Preheat the broiler. Place the tomatoes on a sheet pan under the broiler and cook, turning frequently, until the skins are charred on all sides, about 10 minutes. Transfer the tomatoes to a plate. When cool enough to handle, peel and roughly chop.
Place the tomatoes, one-third of the garlic, half the onion and the jalapeno in a food processor and pulse about 6 times, until combined but not pureed. Season to taste with salt.
Heat 3 tablespoons of the vegetable oil in a large skillet over medium-high heat. Add the tomato mixture and cook, stirring occasionally, for 5 minutes. Transfer the sauce to a microwave-safe bowl and set aside.
Wipe out the skillet and heat the bacon fat over medium-high heat. Cook the remaining onion and garlic until they begin to brown, about 5 minutes.
Raise the heat and add about half of the beans and their juice to the skillet. Coarsely mash the beans in the skillet with a potato masher or the back of a large spoon. Mash in the remaining beans and cook for 5 minutes. Season to taste with salt. Transfer the refried beans to a microwave-safe bowl and set aside.
Fill a large skillet with half an inch of vegetable oil and heat the oil over medium-high heat until it ripples. Fry the tortillas, 2 at a time, turning once with tongs, until blistered and golden brown, about 2 minutes per batch. Drain them on paper towels.
Reheat the tomato sauce and the refried beans in the microwave. Spread 2 to 3 tablespoons of the beans on each tortilla. In a large nonstick skillet, melt the butter and cook the eggs, either scrambled or fried. When finished, divide them among the tortillas. Garnish with the shredded cheese, tomato sauce and cilantro.