Can 'iar' be used in all/most of the same situations as 'şi,' or is it limited to "contrastive" situations like this one?
I think they can be used interchangeably in most situations where they divide clauses in a phrase (like it is the case here). I don't think it matters if the clauses are contrasted, or just state facts that happen to be simultaneously true.
But “și” can also be used in enumerations (“mere, pere și prune” = “apples, pears and plums”) or in some calls like “Și eu!” = “Me too!”. In these situations you can't substitute “iar”.