For the lamb: Soak the currants in warm water for 30 minutes. Drain.
Heat 1 tablespoon of the olive oil in a 6-quart saucepan over high heat. Add the lamb, cinnamon, ginger, allspice, cayenne, and salt and pepper and cook, stirring to break up the meat, until browned, about 5 minutes. Transfer the lamb to a large strainer set over a bowl and drain; discard any liquid left in the pan. Return the pan to the heat and add the remaining 3 tablespoons olive oil and heat until it begins to shimmer. Add the onions and bell pepper and cook until soft, about 5 minutes. Add the serrano and garlic and cook for 1 minute. Add the tomato paste and cook for 1 minute.
Return the lamb to the pan, add the wine, and cook, stirring occasionally, until almost completely evaporated, about 5 minutes. Add the tomato puree and currants and bring to a boil. Reduce the heat to medium-low and simmer until thickened, about 30 minutes. Stir in the parsley and oregano and season with salt and pepper and honey, if needed. Remove from the heat.
For the eggplant: Heat the canola oil in a 12-inch skillet over medium-high heat. Season the eggplant slices on both sides with salt and pepper. Working in batches, add the eggplant slices and fry until tender and lightly golden brown on both sides, about 5 minutes. Transfer the eggplant slices to paper towels.
For the bechamel: Melt the butter in a medium saucepan over medium heat. Add the flour and cook, whisking constantly, until pale and smooth, 2 minutes. Still whisking constantly, add the milk and bay leaf and cook until thickened. Season with salt, pepper, and nutmeg and discard the bay leaf. Let the sauce cool for 5 minutes. In a small bowl, whisk together the egg yolks, goat cheese, and lemon zest and whisk into the bechamel sauce until smooth.
Preheat the oven to 400 degrees F. Butter a 3-quart baking dish or casserole dish.
To assemble: Put half the eggplant slices in the dish and cover with half the meat sauce. Top the sauce with the remaining eggplant slices, and then the remaining meat sauce. Pour the bechamel over the top of the meat sauce and spread evenly with a rubber spatula. Sprinkle Romano evenly over the top, place the dish on a baking sheet, and bake until browned and bubbly, 45 to 50 minutes. Top with more chopped parsley, if desired. Let cool for at least 20 minutes before serving.