I was a bit confused by this claim initially, but I think the point is that Postgres will evaluate e.g. the following expression to TRUE:
select 'tru' or 'fals';
If you change the strings to e.g. 'bar' and 'baz', then you'll see the expected kind of error. Postgres will parse any non-zero prefix of 'true' or 'false' as a boolean in a boolean conversion context.