This post covers key considerations when trying to get t-SNE to converge on a "correct" result: http://distill.pub/2016/misread-tsne/
I have found in my own applications on data that is ~1e5 features by ~1e2 samples that the number of training iterations, the learning rate, and the perplexity can all interact to determine whether the algorithm converges on something sensible. Also, why are you preceding t-SNE with k-means? Can you not proceed directly to t-SNE with the raw or standardized data?
In my experience, perplexity tends to be in the range of how many samples you think might be in any given cluster; e.g. if I have 18 samples and 10000 features, and I suspect samples might break down into 3-6 groups based on a priori metadata, I might expect a useful perplexity to be in the range of 3-6 or so, which is far from the defaults in TSNE within sklearn.manifold.
The training iterations and learning rate interact to generate a good result as well. If the learning rate is too high or low it might overshoot or never arrive at a result; note that the problem is not convex (doesn't have one solution). If the number of iterations is too low it might also not find a sensible solution. In either case, you can expect diffuse cloud-like or highly concentrated clustering if any of the above or combination thereof is off. Experiment with various orders of magnitude of these hyperparameters and note the difference between results.
It helps to have some benchmark of what you might expect with the clustering, for instance known population stratification of samples, which you can use to subjectively evaluate if t-SNE is capturing something useful.