Make the filling: In a large bowl, add the beans and enough cold water to cover them by 3 inches. Cover and soak at room temperature for at least 6 hours.
Strain the beans, discarding the liquid. Transfer the beans to a medium pot, and add enough cold water to cover by 2 inches. Add the garlic, onion, epazote if using, and 1 tablespoon salt, and bring to a boil over medium-high heat. Lower the heat to maintain a strong simmer, and cook until the beans are very tender, about 3 hours, adding more water as needed to keep the beans submerged.
Set a fine strainer over a large, heatproof bowl and strain the beans, reserving the cooking liquid. Discard the garlic, onion, and epazote.
In a large skillet over medium heat, add the oil. Once hot, add the beans, cumin, and avocado leaf if using. Use the back of a fork to coarsely mash the beans, then mix in ¾ cup of the reserved cooking liquid. Continue cooking, stirring frequently to prevent the beans from scorching, until they are dry, 4–5 minutes. Remove from the heat, taste and season with salt, and set aside to cool.
Make the tlacoyos: Turn out the masa onto a clean work surface, and portion into 40 golf-ball-size pieces. Roll each into a ball, and cover loosely with plastic wrap to prevent drying out.
Line a tortilla press with 2 sheets of plastic or wax paper, then use the press to gently press 1 ball of masa into a 4-inch disk. Spoon 1 tablespoon of the beans down the center and fold up the sides, pinching to seal into an oblong dumpling. Return the tlacoyo to the press and flatten gently to make an oval about ¼-inch thick. Repeat with the remaining masa and filling.
Meanwhile, heat a large cast-iron skillet or comal over medium-high heat. Transfer a tlacoyo to the skillet, and cook until dry and lightly charred on both sides, about 4 minutes total. Use a spatula to transfer to a large platter, and cover with a kitchen towel to keep warm while you continue cooking.
Spread each generously with salsa, sprinkle with chopped white onion and queso fresco, and serve warm.