As others have explained, the reason is that COUNT(*) returns a table with a single row.
I believe the confusion is caused by the word "match" in the godoc; even though the WHERE clause doesn't "match" any rows, the result of the WHERE clause is not the result of the query.
I think using something like "the result is empty" would be less confusing, and more consistent with both common SQL terminology and the rest of the godoc. ("Match" is only used in this paragraph in the godoc.)
For example: "Scan copies the columns from the result row into the values pointed at by dest. If the result of the query contains more than one row, Scan uses the first row and discards the rest. If the result is empty, Scan returns ErrNoRows."
For reference, SQL-92 (draft: [1]) describes it as "the result of the <query specification> is an empty table".
[1]
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
Peter