I have encountered this problem myself, and I think I've identified a software problem.
Changing the settings so that iCloud songs don't show on the phone is an important step. But once songs have been downloaded from iCloud onto an iPhone, it appears to be impossible to delete them.
Swiping left doesn't work -- the "delete" icon doesn't appear. In fact, nothing at all happens.
Trying to view the songs in iTunes on my computer doesn't work either. As far as iTunes is concerned, the songs aren't on my iPhone.
I don't want to delete _all_ the songs on my iPhone and then have to transfer them back to the phone again. Actually, I already did that once but then a couple of songs reappeared. Presumably I downloaded them from iCloud inadvertently 😟
So, Apple support guys, there's a glitch in your software. Me and all the other users who have googled this problem without getting a useful reply would appreciate it if you fixed the glitch. If I download a song to my iPhone, intentionally or otherwise, I should be able to delete it without having to delete all songs from my iPhone and then retransfer the ones I actually want.
The easiest fix would be to ensure that the songs show in iTunes so they can be deleted from there.