Здравствуйте Алексей!
Да, военнослужащего, проходящего военную службу по контракту, могут перевести на равнозначную должность (в том числе с изменением места службы) без его согласия, если должность по тарифному разряду и воинскому званию остаётся равной. В вашем случае, если новая должность в Санкт-Петербурге имеет тот же тарифный разряд (6-й) и соответствует воинскому званию прапорщика, перевод может быть осуществлён без вашего согласия. Однако есть исключения, когда военнослужащий вправе отказаться от перевода:
Если невозможно проходить военную службу в местности, куда переводят, согласно заключению военно-врачебной комиссии.
Если члены семьи военнослужащего (жена, муж, дети до 18 лет, дети-учащиеся до 23 лет, дети-инвалиды, иные лица на иждивении) не могут проживать в местности перевода по заключению военно-врачебной комиссии.
Если требуется постоянный уход за проживающими отдельно родственниками (родителями, братьями, сёстрами, дедушкой, бабушкой, усыновителем), которые не находятся на полном государственном обеспечении и нуждаются в уходе согласно заключению федерального учреждения медико-социальной экспертизы