First, don't use .local, as it's used by mDNS. You should use .internal or a domain you own. I recommend changing before you get any more committed to your environment.
I'm not really following your post, because you're not specifying whether each point is on the server or laptop.
Personally, I dislike Ubuntu on the server because of how it runs stuff like systemd-resolvd, which as you've experienced, gets in the way of standard operation.