in reply to dbic record don't add up

other is showing up with the same number of records as the total

Sounds like it generates SQL like type != 'one' OR type != 'two' (should be AND, and is always true with OR). You can check that by setting the DBIC_TRACE environment variable to a true value, and running the queries again.

Another idea: can type be NULL?

If yes, this could lead to counts being off, because (iirc) NULL = 'a' and NULL != 'a' both return false.