MariaDB 10.2: Why does Count(*) work, but not Count(t.*)
In MariaDB, the COUNT() function expects an expression (that is to say, a single value). For each row where the expression is not NULL, that row will be counted. With DISTINCT, as you note, it will only count each distinct non-NULL value once.

COUNT(*) is a special case, returning the number of rows in your result set.

COUNT(t.*) would only work if there's only one column in table t.

Per the OP's testing and my own, COUNT(t.*) does not work even if the table only has one column. See this dbfiddle.uk link to confirm this for yourself.

(Note: You can also see that some other versions of SQL can handle this; if you switch the DB engine to a version of Postgres, the last statement runs successfully, instead of generating an error).