Not only --from=si is broken. Also --to=si is broken:
$ numfmt --to=si 3000
3,0K
In order to not break backwards compatibility, you probably have to
introduce a switch --lowercase-kilo such that --to=si produces proper SI
compliant output. Then have --from=si accept both uppercase and lowercase k.
I have to say, that uppercause K is quite common, but it is not correct
as far as SI prefixes are concerned.
Also note that Ki in iec-i mode is quite correct. I'm torn about iec
mode. I believe that people silently switch 1000 for 1024 and use the
lower case k as well as uppercase K. Maybe numfmt should have an option
to accept/produce both here as well?
Is there really a standard/specification that allows k/K for 1024?
Wikipedia only lists Ki as IEC prefixes.