Es correcto que deberíamos considerar el motor, no todos son iguales, aún así, la idea general es que una consulta se debe evaluar o comparar por su plan de ejecución, ya que es donde se ve el orden y operaciones que realiza el motor para obtener los datos (costo cpu, cant. bloques, orden de lectura de tablas, tipo de join, etc).
En el caso particular del JOIN vs WHERE, lo he probado en MySQL, SQL Server y Oracle, y siempre obtuve el mismo plan de ejecución, puedes ver este blog
http://www.mysqlperformanceblog.com/...oin-and-where/ de autor reconocido que publicó un libro sobre rendimiento en MySQL y asegura que vio el código del motor y no hay diferencia en la forma de resolver las consultas.
Saludos