I see this line in elisp--eval-defun at least Emacs 28 - 30 (pre-release):

          (setq form (funcall load-read-function (current-buffer)))

The default for load-read-function is nil, so it can't be called as a function by default.  The value for me is indeed nil and is triggering an error for me when trying to evaluate an ert-deftest expression.

How does this work?  I don't see the value of load-read-function set anywhere else in elisp-mode.el.  I see it set in debug.el and edebug.el but not when doing a normal defun eval.

Thanks,

rsw