In my experience, the unstressed "o" as "a" is only mostly true and varies by region. This is especially true for unstressed "o" preceding the stressed vowel.
For example, "молоко" is pronounced differently in different parts of the country. For me, the first "o" sounds more like a "ə" (think bOOk) around Moscow, and more like "a" further east.
For example, "молоко" is pronounced differently in different parts of the country. For me, the first "o" sounds more like a "ə" (think bOOk) around Moscow, and more like "a" further east.