You are mistaken.
Bangkok is ... has the
subject and
verb of the main clause.
cities is the antecedent of the relative pronoun
that. The verb within the relative clause must agree in number with the antecedent
cities, not with the subject of the main clause
(Bangkok) nor with its subject complement
one.
Multiple cities are having problems, so it's cities ... have.
Compare: John is one of the many people who make this mistake. (Not makes.)
CJ