One fairly easy win would be to stop issuing getAttributeStats() for non-expression indexes. In most cases that'll already drastically cut down on the extra queries.
That does seem like an easy win, especially since we're already using indexprs for some filters. I am concerned that, down the road, if we ever start storing non-expression stats for, say, partial indexes, we would overlook that a corresponding change needed to happen in pg_dump. If you can think of any safeguards we can create for that, I'm listening.