Hi everyone. My first post and I know this is an old thread, but I had this exact problem with my galaxy s4. Speaker phone worked fine, but when I talked on normal calls no one could hear me.
long story short, I fixed mine and it was very simple.
There is a tiny little hole at the bottom of the phone. Im pretty sure this is the hole for the bottom mic. Somehow some kind of gunk was clogging it up. I took a syringe and dulled the needle (so as to not damage anything.) And I stuck it into the hole just enough to suction out a tiny little piece of gunk that was blocking the hole. After that gunk was cleaned out, it worked like new.
so if you are having trouble with people hearing you during phone calls, yet your speakerphone is working fine, try cleaning out that little hole. Be very careful not to damage anything or push crud further down into the hole. A dull hypodermic needle worked well for me, but again, be very careful.
hope this helps.