I've read it's a good idea to combine images as sprites (and use background positioning) to have less dns lookups and therefore speed up your site. But it seems all the images are loading asynchronously taking about 250ms to all load at the same time.. is there any point to doing the sprite thing?
Image sprites used to be more relevant back when HTTP/1.1 was the standard, and each HTTP request was done using a separate TCP connection. TCP connections have a lot of overhead, relatively speaking, so it was common for browsers to throttle them, making websites with lots of separate resources perform poorly.
Nowadays, as long as the server and client both support HTTP/2 (all modern browsers and almost all servers do), all HTTP requests to a single server are multiplexed into a single TCP connection, making the network overhead for lots of requests like this much, much smaller than in the old version of HTTP.
As an analogy think of it like phone calls. To load 50 resources under the old HTTP/1.1 the browser would have to make 50 separate calls to the server to get all 50 resources, and it would be a lot of work and tie up the lines. But now under HTTP/2 the browser only has to make one single call, and can request all 50 resources efficiently through that same line.
So as long as your performance is acceptable and your visitors are using modern browsers, I would say there is no reason to consider spriting unless you have like 50-100 resources or more and you are trying to squeeze out that last 10% of performance. At that point there might be arguments for spriting, but even then there are pros and cons.
(As an aside: whether you use spriting or not, there will only be one DNS lookup aslong as you are loading all the resources from one server.)