https://xmpp.org/extensions/xep-0128.html#impl defines that a Service Discovery Info response can include more than one "extended info" dataform.
Openfire should allow for this. It currently allows for at most one form.
Openfire should be modified to allow for a set of dataforms to be returned. At the same time, it is desirable that the API change does not break existing (third party) code.
This is probably achieved easiest by adding a new, default method in the DiscoInfoProvider interface, like this:
All code that calls the old (now deprecated) method, should be modified to now use the result of the new method.