Resulta que son objetos normales y puedes acceder a ellos a través de user_id .
RowDataPacket es en realidad el nombre de la función constructora que crea un objeto, se vería así new RowDataPacket(user_id, ...) . Puedes comprobarlo accediendo a su nombre [0].constructor.name
Si el resultado es una matriz, deberá usar [0].user_id .