I was hoping to also find mentions of how to effectively reduce these.
When reading code, I break things down differently.
1. Domain knowledge
2. Programming knowledge (e.g. recursion)
3. What is being done
4. How is it being done
5. Where/when is it being done
Wherever possible I try to stay with strong opinions and alignment on the first three. The last two should try to be as simple and clear as possible. Reading code in this day and age should not so much be about 'playing computer' in your head, but rather using well-known/tested patterns that allow for factoring/composition and accurate reasoning without requiring deep context.