Here is my home made heat exchanger. It consists of four 50 foot rolls of 3/8 soft copper tubing plumbed in parallel. This is attached to two four port headers. The flow is reversed on the bottom header so each coil see even flow. As you can see from the photos I straightened out the tubing and recoiled it around a 5 gallon pail. The 4 rolls of tubing and prefabbed ebay headers all cost less than $200 including all the fittings.  I think this is a fairly economical way to make a domestic hot water heat exchanger for a unpressurized tank. With my tank at 130F and water entering the exchanger at 50F the water comes out at 118F. This is with a flow rate of 3.5 GPM.
Here you can see how the foam insulation is scored to allow it be coiled in the Soft Tank. I used 6 sheets of 1 inch for the sides and 2 sheets of 2 inch for the top and bottom. The sides have a bit more insulation than the kit requires, so the finished volume is around 160 gallon with an R value of 30 for the sides and 24 for the top and bottom. Shown to the left without the liners yet installed. The tank kit uses two liners each having 2 layers fusion welded together. Below is the tank with the liners installed and filled with water. The solar side of the system is double pumped though two plate heat exchangers, one side is tank water the other is the solar water-antifreeze mix. I went this route because I already had the heat exchangers and the pump on hand. I am hoping that this set up will work well. I will be logging the data from the collector, the tank top , the tank bottom and the out door temps and compare them to older data with my 60 gallon tank.   A quick look at recent data shows about 12K BTU per hour and about 60K total for a days collection. The daily total was limited by the size of the storage tank. This where the new tank should help.