DL will check bags across separate DL tickets. Thus, bags should be checked at DSM to LHR. At LHR, OP is stopping over and clearly not flying onwards with DL as it does not serve the route. Thus, he will clear immigration (passport control) and customs at LHR and will, of course clear security again at LHR when he comes back to the airport the next day.
On the return, as BA will not check bags across tickets (even its own), OP's bags will be checked CPH-LHR, where he will need to pass through immigration, customs, check in, and security. At LHR, his bags will be checked by DL to DSM, but he will nonetheless be required to claim them before CBP at MSP and then drop them with DL after Customs and then reclear security.
All of this means that OP really needs to allow not only enough time to accomplish these tasks, but to protect himself. On separate tickets, he is at risk of a now show for onwards travel if one of these flights is late.