Change mobile network DNS on Lollipop and up
I don't use Lollipop on my phone anymore. However since your question is about Lollipop and up, and I use Marshmallow, I can confirm that:

ndc resolver setnetdns devname dnsdomain dns1 dns2


works. It appears that you do not need to know the network ID anymore in Marshmallow, and you only need the device name.

So for example:

ndc resolver setnetdns rndis0 "" 8.8.8.8 8.8.4.4


will set the DNS for the rndis0 interface to Google's public DNS servers.