Транслитерация русского - штука очень запутанная. Есть разные стандарты. Посмотрите, например,
в этой статье. Единого стандарта не существует. Нам - переводчикам - тоже постоянно приходится с этим разбираться.
В практическом смысле лучше всего ориентироваться на адресата, который будет читать ваше имя. Если вы напишете "Sergej", носитель английского триста раз подумает, как эту "j" читать, потому что никаких стандартов он не читал. Пишите так, чтобы было понятно и плюньте на стандарты. "Sergey" и "Krupskoy" будет ок, т.к. это смогут прочесть.
Насчет системы, применяемой в загранпаспортах, лучше на нее не ориентироваться. У меня жена сменила уже три паспорта, так в них она каждый раз писалась по-разному, т.к. правила менялись. Теперь ее имя - Юлия - пишется настолько дико, что лучше его не употреблять - Iuliia.