This seems to work fine in the 4.x line, with the above configuration parsed correctly. Note that key-type and value-type do not have to be parsed by MapFactoryBean; they are just used to parse the specified source entries within the util:map element (if any). On conversion from those source entries to the specified target map, we'll introspect the parameterized types declared on that target map class. This works as designed.
However, there is a chance this doesn't work correctly in the 3.2.x line. I'll backport the test and will resolve the issue accordingly then.