Let's start with the legal position, which is absolutely clear: Your contract is with Dunelm, so it's
their responsibilityto ensure that you get the product that you ordered. It wouldn't matter if, say, a massive fire at a DHL depot, destroying hundreds of thousands of packages, had made the national news headlines. Your claim for compensation (or for a replacement package) would still be against Dunelm, not against DHL. (Dunelm could then claim separately against DHL, as that was who their contract for delivery was with).
So, from a legal standpoint, it's definitely Dunelm that you should be hassling, not DHL.
However, if Dunelm hasn't already provide you with the tracking number for your parcel, it might still be worth demanding it from them. You can then enter it here, to see what shows up:
https://track.dhlparcel.co.uk
If the number comes up as 'not recognised', you can then clearly state to Dunelm that the system is showing that they never sent the package in the first place. However if, say, it shows that your parcel has been stuck in DHL's Chipping Sodbury depot for the past week, you can either pass that information to Dunelm and get them to find out why or, to try to get the matter resolved quicker, contact DHL directly yourself.