score:4
If I were you I would bring both passports. When you leave the Schengen area with a US passport, the officer will look for an entry stamp. You will then have to claim your Italian citizenship. The expired passport should help with this.
There's no exit control on leaving the US, but with an expired Italian passport you will of course have to use your US passport to check in for the departing flight. This will be no problem, since US citizens are visa exempt in the Schengen area.
On entering the Schengen area, if I were you I would perhaps just show the US passport to keep things simple, but if the line is long at immigration I would probably reconsider that and approach the EU passports desk with my US passport and expired Italian passport.
My source for this is several years of flying between the US and the EU having a US passport and an EU passport. My general principle has been to show the US passport to US CBP and when checking in for flights to the US, and the EU passport when checking in for flights to the EU or passing EU immigration controls. I have occasionally shown the US passport to EU officers, though, either by mistake or because I didn't have my EU passport with me.
As noted in the other answer, none of this matters if you have a valid Italian ID card. You can use that both to leave and to enter the Schengen area. You would then use your US passport to check in for your flights to and from the US and for the US immigration inspection.
Upvote:2
Your italian ID card is sufficient for arriving in Europe, you don't need the italian passport.
Normally you only need your passport when flying out (because TIMATIC tells the airline that an italian ID card is not sufficient for your target country), but there you are using your US passport, so you are good.
I have many times arrived in Germany and used only my ID card. It even works on the electronic machines (even though the signage says 'use passport').