That’s great to hear! I’ve been turning TS off and on when accessing services to make it through the day, but as soon as the battery use goes down (to plain wireguard app levels) I’ll be using it for DNS as well. Then it will truly be TS all the things for me.
There's a number of things. (at least four kinda five things you might mean by "keepalives", and the answer is all of them, so yes, and then others.) The same code that runs on iOS and Android also runs on Linux servers (where it was originally developed) where battery or perfect network efficiency wasn't really a top concern. When that code was moved to mobile, a few efforts were made to improve behavior on phones but not enough.
We're also working on measurements to make sure we objectively fix things and don't regress later in the future once it's fixed.
FWIW, that's a very high priority currently by a number of people at Tailscale. We're working on it.