No devuelve lo que espera porque la agrupación ocurre antes de realizar el pedido, como se refleja en la posición de las cláusulas en la instrucción SQL. Desafortunadamente, tendrá que volverse más elegante para obtener las filas que desea. Prueba esto:
SELECT *
FROM `table`
WHERE `id` = (
SELECT `id`
FROM `table` as `alt`
WHERE `alt`.`otheridentifier` = `table`.`otheridentifier`
ORDER BY `time` DESC
LIMIT 1
)
ORDER BY `time` DESC
LIMIT 3