Anything you place in the audio path to the speech recognition engine can affect recognition.
By definition, filters remove information, so while it sounds clear to your ears, the speech recognition engine is not a human listener, and may work better when certain information is still present.
Not all headsets, USB or otherwise, are equally suited to speech recognition. Price is not necessarily an indication of suitability either.
The closer a microphone is placed to what you are recording, the less sensitive it needs to be, which should lower the amount of environmental noise it picks up, in theory (this also depends on the type of microphone, and what noise cancelling, if any, is applied in hardware).
Mechanical keyboard noise can be quite loud, and possibly overlaps with the frequency range of human speech, so filtering it may cut out useful information for the speech recognition engine as well. There is only so much you can do about that without affecting either the signal integrity of the audio, or the typing quality of your keyboard.
An add-on boom-style microphone may work, E.G. an Antlion Modmic (this is not an endorsement, and I do not have personal experience with the product), if you're looking to keep an existing set of headphones (do note that, especially, but not only, open-backed headphones can project into the environment, where it can be picked up by a microphone in relatively close proximity).
Lastly, training you speech recognition profile is very important when using the Microsoft Speech Recognition engine (rather than Speech Platform 11); your speech recognition profile is intended to be trained with a specific microphone, and at least three training sessions should be completed.
If you switch to a different microphone (or even a different physical environment, which may have new acoustic characteristics), you should create and train a new speech recognition profile. Instructions for doing so can be derived from
this topic.