The webpack "schema" is extremely complex and dynamic in shape. You can often return a scalar, or an Array, or some objects with various optional keys for the same config option. That choice has a cognitive price and documentation fails to document all this in a sane maner.
Also, even the most popular webpack plugins have trouble tracking the latest version of webpack and you often still have blocker bugs months after a release, so you often have to try many, many combinations before your workflow does what you want.