Sorry for late response, while I was unable to reproduce the issue, I postponed it and I started learning firmware as well to reproduce issues you mentioned.
As I mentioned above, we didn’t modify the M900 command (I didn’t even use M900 before reading the topic).
After a few tries, I realized that why you failed to set K factor is that you were using the G-code generated on Marlin website. Commands with specific comment could be ignored by the firmware.
The line that sets K factor as below, these are two "K"s in the line which cause the G-code parser unable to parse the value (1.6) correctly.
M900 K1.6 ; set K-factor
If you change the comment to lower case, it will work as expected.
M900 K1.6 ; set k-factor
Edit: I did tested K from 0-2, but didn’t test smaller values like 0-0.2, wondering if the difference is visible…