Bring a large pot of water to a boil over high heat. Meanwhile, make a bechamel sauce by melting 4 tbsp. of the butter in a medium, heavy saucepan over low heat. Add flour and cook, stirring constantly with a wooden spoon, for 2 minutes. Remove pan from heat and gradually whisk in milk. Season to taste with salt and pepper, return pan to medium heat, and cook, stirring constantly, until sauce is thick and smooth, 5-7 minutes. Remove pan from heat, place a piece of plastic wrap directly on top of sauce (to keep a skin from forming), and set aside.
Preheat broiler and set rack about 4" from the heat. Melt 1 tbsp. of the butter in a large skillet over medium-high heat. Add prosciutto and cook, stirring constantly, until lightly browned and crispy, about 2 minutes. Reduce heat to low and continue cooking very slowly while pasta cooks.
Season boiling water generously with salt, add pasta, and cook, stirring, until just tender, 1½-2 minutes. Drain pasta, then add to skillet containing prosciutto. Add 1 tbsp. of the butter and ¼ cup of the parmigiano-reggiano. Season to taste with salt and pepper and toss to mix well.
Spoon pasta into a 2-quart baking dish and tamp it down lightly with the back of a spoon so that its surface is even. Spoon bechamel over top, and sprinkle with remaining ¼ cup parmigiano-reggiano. Cut remaining 1 tbsp. butter into small pieces and scatter over top. Place dish in oven and broil until golden and bubbling, 2-3 minutes. Serve with additional parmigiano-reggiano at the table, if you like.