Postal vs 911 address city names

I think what you’ve provided as an example here, with semi-colon-separated values in the alternate tag (whether you use addr:contact, contact:city or something else) is the most reasonable way of going about it. Doing my own sleuthing on the Duxbury and Moretown government websites, they both clearly show the boundary between them is where it’s shown on OSM, and the school in question is definitely within the bounds of Duxbury. As such, I think giving deference to addr:city=Duxbury is the more prudent approach, even if the school is closer to the “village centre” of Moretown.

I for one don’t always trust the contact info on the website of a POI to be “correct”. Local to me, the “house numbers” and postal codes often end up totally wrong on the contact details of businesses’ websites, e.g. listing the postal code for across the street or the next block down, or having the number of the adjacent building instead. I think a lot of these incorrect details simply come from extrapolations from Google Maps, and business owners not double-checking that they’re right.