So this is where I wish I could simply say... no no here are some options it works perfectly. Well honestly I run into this myself, and that's when I am using a single datasource (a file) and I do not even have custom requirements so much..
That being said. One thing I have noticed, and while I cannot promise you it will solve your issue, it worked better for me, was to add the instructions at the agent level. Yes yes, I also would put things in the action/tool/step, but... it never fully worked as I wanted, or at least, not as often as I wanted.
In some cases, I essentially added very specifical and detailed instructions in the Main page of instructions for the Agent in general, as well as instructions in the steps. Playing with them until it responded.... MOST of the time exactly how I wanted. However I am not able to get it to be 100%.
That being said, I don't know the sources you are using, can you tell me what type for sure? Just a web site internally? Is it sharepoint or web or?? Or are these public sites?
Now, as for it thinking you only typed b.... that would need more debugging, as I have not had that issue, so unless its an issue with your session(s), or conversation(s) control management (ending them, redirects, variable session loss etc, its just not stuff I can easy answer with the stuff above.
Try first, adding some specific instructions at the Agent level, explain them in detail about the knowledge source and more indepth than in your other instructions. Let's at least see, if we can get you closer
as for reaching Microsoft, unless you have an account with the ability to open a case OR you are willing to pay the Per Case Fee, there isn't really a Microsoft Free Support exactly, but you can try to go to M365 (portal.office.com) for your tenant and open one there. That's your starting point.