Make the béchamel: Melt 6 tablespoons butter in a medium saucepan over medium heat. Whisk in 3/4 cup flour until a paste forms, then slowly whisk in the hot warmed milk until smooth.
Continue cooking the sauce, whisking constantly, until thickened. Stir in 1 1/2 teaspoons salt, remove from heat, and let cool until lukewarm.
When the béchamel is lukewarm, whisk in 3 large beaten eggs until fully incorporated; set the sauce aside.
Prepare the meat sauce: Melt 4 tablespoons butter in a large skillet over medium heat. Add the chopped onions and sauté until softened and golden, about 5–7 minutes.
Add the ground beef, breaking it up with a spoon, and cook until browned. Stir in 1/8 teaspoon ground cinnamon and salt and pepper to taste.
Mix in 1/2 cup water and 2 tablespoons tomato paste, simmer for about 5 minutes to meld flavors, then remove from heat and set aside.
Cook the ziti according to package directions until al dente. Drain, rinse with cool water, and let cool briefly.
When the pasta is cool, stir in the 3 beaten eggs and 1 1/2 teaspoons salt to coat the pasta evenly.
Preheat oven to 350°F (175°C). Spray a deep 9x13-inch casserole dish with nonstick spray.
Assemble the pastitsio: Spread half of the pasta evenly in the prepared dish. Sprinkle generously with about one-third of the grated cheese.
Top with the meat mixture in an even layer, then sprinkle another portion of the cheese over the meat. Add the remaining pasta on top and sprinkle with more cheese.
Pour the béchamel sauce over the assembled layers and finish by sprinkling the remaining grated cheese over the top.
Bake for 45 minutes, until the top is bubbly and golden. Let rest at room temperature for at least 20 minutes before slicing to help the layers set.