Make the crepe batter: In a blender, combine flour, eggs, milk, melted butter, salt, and sugar (if using). Blend for 20 seconds until smooth. Let the batter rest for 15 minutes at room temperature.
Cook the crepes: Heat an 8-inch non-stick skillet over medium heat and lightly grease with butter or oil. Pour ¼ cup of batter into the pan, swirling to spread evenly. Cook for 1-2 minutes until edges lift and the bottom is golden. Flip and cook for 30 seconds. Stack crepes with parchment paper between them.
Prepare the beef filling: Heat olive oil in a large skillet over medium heat. Add onion and cook for 3-4 minutes until soft. Add garlic and cook for 30 seconds. Add ground beef, breaking it up, and cook for 5-7 minutes until browned. Drain excess fat.
Season the beef: Stir in smoked paprika, cumin, oregano, chili powder (if using), salt, and pepper. Cook for 1 minute. Add tomato sauce and beef broth, then simmer for 5 minutes until thickened. Stir in cheese (if using) until melted.
Assemble the crepes: Place a crepe flat and spoon 2-3 tablespoons of beef filling in the center. Fold in half or roll like a burrito. Repeat with remaining crepes.
Serve: Drizzle with sour cream-dill sauce (mix sour cream, dill, lemon juice, salt, and pepper). Serve warm.