There are 2.54cm to an inch. There are 100cm in a metre, so 2.54cm is 2.54/100=0.0254m. That means 1m=39.37in approx. But we want square inches and square metres, so 1 sq m=39.37²=1550 sq in approx.
From your information we know that thread counts are the number of threads in a square inch. So 1 sq m would contain 1550 times the thread count.
A thread count of 200 would mean 200×1550=310000 threads per sq m, or threads/m².
A thread count of 300 is 465000 threads/m² and 400 is 620000 threads/m².
We don’t know the mass of a single thread so we don’t know which of 200, 300, or 400 is equivalent to 90gsm. The weight or mass of a single thread will be very small of course, and, in theory, to measure it you would need to get 1m length threads and lay them side by side (in a lattice) until you have a metre’s width. Then you would weigh the threads. But for a thread count you would only need to find out how many threads side by side (in a lattice) will make up a square inch, regardless of their length, because you’re not measuring their combined mass.
So the two measurements are not compatible because one is a weight or mass and the other a simple number, a count. Therefore, knowing how to convert square inches into square metres is not going to help you in this case.
The only certain way to find out the equivalent of GSM and US thread count is to do what you did and enquire! For now, I would simply assume that 300TC is equivalent to 90gsm, because 300TC is probably the most popular measure.
If you have the TC, you find GSM by multiplying the thread count by 3 then divide by 10; if you have the GSM you find TC by multiplying the GSM by 10 then divide by 3. So 200TC would be 60gsm and 400TC would be 120gsm.
I hope this helps. You should find that 90-110gsm is the normal range for bed sheets.