allOf implies that all (both) schemas should be valid, but additionalProperties false wont allow it, since it become multually invalid. (You can validate only one or None)
Just use $ref to expand the list, it end up with the expected outcome reducing complexity.
Note: kvm wasn't using additionalProperties false but it was changed because it makes it future proof, in case we set it (we should set).