It is not documented that describe-function should return the
doc string.
And rightfully so. It does not return the doc string. It returns the content of
*Help*, that is, everything that is there, which includes the doc-string text.
See `describe-function-1' for what is included.
Yes, we could document that it returns the contents of *Help* as a string, but
I'm not sure that would be helpful to most users of `describe-funtion'. Those
who are concerned about the return value will likely look at the source code,
which already includes a comment about it.