Как изучать информатику самостоятельно, чтобы добиться профильного уровня?
Если вы практикуетесь в Питоне, делая реальные проекты - вся сопутствующая информатика поневоле изучается.
Если еще хватает интереса и упорства на копание в ассемблере - значит, с информатикой у вас уже лучше, чем у 99,99% российских школьников.
Так что, возможно, стоит перестать беспокоиться и начать... прокачивать английский, например.
1. я горячо поддерживаю совет общаться с учителем информатики. учитывая какие деньги учителям платят - он скорей всего энтузиаст, работающий в школе только ради одарённых детей вроде тебя

2. есть подозрения, что твой уровень уже выше того, что изучают не только в 9-м классе, но и во всей программе. просто потому что программа в лучшем случае ориентируеьтся на средних учащихся и самоучкам в этом смысле гораздо проще. тем не менее - учитель может дать советы что изучать сверх программы и помочь там где возникают сложности. советую вообще контактировать с теми, кто понимает как вкатиться в CS, а не пытаться построить план обучения самостоятельно

3. этот вопрос можно погуглить, вот один из известных ресурсов - https://teachyourselfcs.com/ 

4. кстати, из всех навыков для CS самый важный - английский. чтобы читать, писать, случшать лекции, общаться с коллегами по всему миру. если он не fluent - советую налечь в первую очередь на него, поскольку мозг так устроен что детям гораздо проще освоить языки

исходя из моего опыта, наиболее важное для программиста в повседневной работе это
- базы данных (SQL, noSQL...)
- приницпы ЯП (ООП, ФП, типизация...)
- параллельное и распределённое программирование
- как работают ОС, CPU, трансляторы, DBMS...

но если ты больше заинтересована в том, чтобы не изучать всё самой, а подготовить матбазу для того, чтобы вкатиться в вуз, то лучше сосредоточиться на фундаменте для высшего образования - а это английский, математика, ну и ещё алгоритмика для прокачки мозгов (тот же leetcode)