Split DNS is super complicated to implement client side. We halfway implemented a solution and backtracked, eventually settling on just setting /etc/hosts. There's way too many variables involved across all the different operating systems.
The big hurdle is understanding the concept of search domain vs routing domain and the interaction with resolved and NetworkManager.