I'm travelling on Monday to the US from the UK. I live in UK and have dual nationality. My US passport expired so I got an ESTA for my UK passport... I've just heard from an American friend that I HAVE to use my US passport, no questions. But it's expired... I'm panicking after googling and the recent changes. Anyone done this recently?
Basically there's a chance that the airline somehow gets wind of your US nationality and refuses boarding -- this could also result from getting a "do not board" message from US CBP when they submit your advance passenger information. But once you're on the plane, you will be fine. US immigration officers cannot refuse to admit you if you are a US citizen, and there is no penalty for violating the law that requires you to have a valid US passport to enter the US.
Several years ago there was even advice along these lines on the US government's web pages, but they have removed it. The legal situation has not changed, however. There have been proposed regulations to impose a fee for waiving the passport requirement, but such regulations have never been put in place.
You should take your expired passport with you as evidence of your US citizenship, and you can go to the US citizens' line. Please come back and post an answer to describe your experience; there is not a lot of information out there about how these things go in practice.
Update! Thanks to all for your contributions. Although I have no official answers - I presented my UK passport with the approved ESTA, (on which I did properly claim my US passport and stated the expiry date of it on the application) at all check points and no questions were asked at either departing the UK or entering the US.