Судя по данным толковых словарей, подготовленных профессиональными лексикографами, значения слов индийцы и индусы разошлись. Актуальное значение для слова индусы — 'индийцы, исповедующие индуизм', а для слова индийцы – 'представители народов, составляющих коренное население Индии'.
Большой толковый словарь
Правильно: токийцы (токиец, токийка).
Жителей Софии правильно называть софийцы; в ед. числе: софиец, софийка.