Is it better to put filters on JOIN clauses instead of WHERE clauses
With any good query planner (and IIRC mysql's is good enough in this regard) for queries where all joins are inner joins (as your's is here, unless otherwise specified joins default to inner joins), it does not matter whether you put the filtering or joining comparisons in an ON clause or in the WHERE.

In the presence of outer joins more complicated queries this is a lot less clear cut as the position of the filtering clause can (but does not always) have a significant effect depending on the input data.

To convince yourself, generate a large data-set and try both to see if there is any difference. As a learning exercise to get a good feel for what the optimisations in your chosen DB engine can and can't do, very little beats some well thought out experimenting, monitoring and benchmarking.