source: Mysql Manual - 13.2.10.2 JOIN Clause
Your query would be interpreted as if it were:
select *
from trk_races a
inner join drivers d
left outer join (
select race_winner, count(race_date) as wins from trk_races
where race_winner > '' and Season='$selyr'
group by race_winner
) w
on w.race_winner = a.race_winner
on 1=1
Essentially your left join becomes like a sub-join of the drivers table. When you do a join like that you can only reference the parent join table (d) or some same-level sibling table (none here) in your on clauses. Table a does not meet either of those conditions (it's a sibling of the parent) so it's invalid in your left join's ON clause.
In case it's unclear, when I say sibling tables I mean something like this.
select *
from a
left join b
inner join c on c.Id=b.cID
inner join d on d.Id=c.dID
on a.Id=b.aID
Table c is a sibling to table d, so it can be used in the on condition, as can table b as it's the parent table. Table a cannot because it's the parent's sibling.