As of version 2.7.10, this now works. HeroUI has since fixed the bug with form errors not displaying despite having set validationErrors. Your original implementation will show the errors under the inputs as expected once you upgrade to a newer version of the library:
npm install @heroui@latest