There aren't concrete guidelines on how populated places are classified, which was why the #place-classification channel was initially created. Currently, they're loosely based on population as outlined in (https://osm.wiki/Key:place), with place=city having the most people, place=town having less, place=village having even less, etc

In the Portland Metro area, it looks like cities have a population of >50K and towns >10K