Set out a 9x13-inch (3-qt) baking dish and place the bucatini or penne in it; cover with very hot tap water and add 1 teaspoon salt. Stir so the pasta doesn’t stick and let it soak 30–40 minutes while you make the sauces.
Preheat the oven to 350°F (175°C) and chop the onion and mince the garlic.
Make the meat sauce: In a large pot over medium heat, melt 2 tablespoons butter, add the chopped onion and minced garlic, and sauté 3–5 minutes until softened.
Add the ground beef, 1/4 teaspoon cinnamon, 1/8 teaspoon nutmeg, and 1 teaspoon salt; break the meat into small pieces and cook until browned and no longer pink.
Stir in the 30 ounces tomato sauce, reduce heat, and simmer the meat sauce 15 minutes, stirring occasionally; season with salt and pepper to taste.
Make the béchamel: In a saucepan over medium heat, melt 1/2 cup butter, whisk in 1/2 cup flour and cook 1–2 minutes without browning to form a roux.
Slowly whisk in 4 cups whole milk until smooth, add 1 teaspoon salt and 1/8 teaspoon nutmeg, and cook, stirring, until thickened to a gravy-like consistency.
Remove the béchamel from the heat and whisk in the 2 reserved egg yolks vigorously, then stir in 1 cup of the shredded Italian cheese until melted and smooth.
Drain the soaking water from the pasta (it's okay if a little remains), then toss the pasta with the 2 reserved egg whites and the 6 ounces crumbled feta until evenly coated.
Spread the pasta in an even layer in the prepared baking dish and sprinkle 2 cups of the shredded Italian cheese over the pasta.
Spread the meat sauce evenly over the cheese layer, then gently pour and spread the béchamel over the meat sauce. Sprinkle the remaining 1 cup shredded cheese over the top.
Place the baking dish on a rimmed baking sheet if using a standard 9x13-inch pan, and bake uncovered on the lower oven rack 30–40 minutes until the top is golden brown; cover loosely with foil if it browns too quickly.
Remove from oven and let the pastitsio rest at least 20 minutes before cutting and serving.