The flaw in your reasoning
According to you GF p is false ( and it is not satisfied by model speaking more properly). Yet your fault in assuming, than akin to Boolean logic, it make the whole LTL formula true. It does not. The only way is to evaluate an LTL formula is on all the model paths (see page 17 of you slides for the definition), not part by part, and as other answers explaines GF p => GF q does not holds on the $s_0$ loop.
Difference between LTL and Boolean Logic
The example just shown that contrary to usual Boolean logic as well as CTL,
even if LTL formula X is satisfied X->Y might be still do not satisfy the model. Material implication inference does not work here.
Many seemingly simple and intuitive inference laws valid for Boolean logic are not applicable to LTL. You might be well surprised, that even if X does not satisfies model, not X not necessarily. Check you lecture notes to see which inference rules work in LTL.
I guess you were assuming that only properly temporal operators, such as G and F need to be defined, while rest could be interpreted based on your intuition or previous experience with boolean logic. It is not the case, in Theoretical Computer Science the definition is your primary reference.