It would be helpful if you could provide both EXPLAIN statements and queries without COUNT and with count.
I expect in your case there is large amount of matches (so it is not really 8x21 rows you could see in the stats) so temporary table is needed etc.
I also should ask you why are you trying to implement search engine in SQL ? It is going to be slow as you will have to traverse very many rows for common keywords.