If my understanding is correct, the functions (lambda (&rest) t)
and (lambda () t) should behave similarly.
From where did you get this understanding? The Elisp manual says about &rest:
"To specify a list of zero or more extra arguments, include the
keyword &rest before one final argument."
and
"The keyword &rest (which must be followed by a single
argument name) indicates that any number of arguments can follow."
i.e. the parameter after &rest isn't optional.