KeePass with inputstick. It’s a device that plugs into a USB A port, and your phone talks to it via Bluetooth. It emulates a keyboard (and mouse if you want), and there’s a KeePass plugin for KeePass2Android.
You open one of your password entries, click the username, and it types the username on your computer via inputstick. Ditto for passwords and totp or other fields.
You can also use inputstick to just remotely control your computer, albeit locally only and without a monitor connection. I’ve used it to control my raspberry pi or android TV, aside from password entry.
With this, you can have your password database be completely offline and your computer have no lasting knowledge of your passwords. Of course, a keylogger would still get the passwords that are “typed”.
I’ve had one of these $40 devices for a few years. I don’t use it too often, as I tend to synchronize my KeePass database on all of them, but it does come in handy. I wish the developer of the hardware made a usb-c one, but it works with usb-c to usb-a dongles.
Most cable modem router combos have the ability to turn off the router part and just act as a modem in Bridge mode. If that’s an option, you can get your own router to handle local traffic, including dhcp (and thus dns) for all your local devices.
Obviously, this goes against your request not to get your own router, but I thought I’d mention it in case you thought you would have to buy your own modem as well (which you are also free to do, assuming your isp supports customer-owned modems). The modem part can stay the same while having a separate router not controlled by the isp.
If your particular unit doesn’t allow that, you can usually still locally override dns settings, though this is more for computers and phones than it is some smart home devices. iPhone and Android phones will let you specify dns ip addresses when you set up a wifi connection. Just edit the wifi config and change to a static ip. You can usually safely use the ip address given to you from dhcp, so make a note of your device ip address before changing it to static, and just use the same values. Then you can manually set the dns ip address.