Alright, so I have nearly the exact same build as you, the only notable difference is my 970 is asus brand. MacOS works exactly as you describe, I will note that another method for boot that I have found is to boot fully into MacOS and then plug in, then restart the computer, if the first boot was a cold boot then I get 100% consistent restart with no issues, now with the eGPU coming on, this is with the laptop closed and exclusively using external keyboard, mouse, and monitor. Restarts thereafter have a ~10% success rate, I usually shut down and do cold boots from there, I note that sometimes when it shuts down it will not actually do so, black screen, but the trackpad still clicks and I have to hold power until it stops, I warn that my machine rapidly heats up and stays very hot while in this state.
Now for Windows, if you can get Windows 10 to boot and recognize the gpu then you're almost there. I believe I did the dsdt override but I am not sure if it was necessary. Once you get it setup, the boot time is very variable. In my experience it can take anywhere between 20 seconds and a full 4 minutes to boot into Windows, no idea why, but I just walk away while it's at the loading screen because it will drive me crazy to stare at it. I initially thought I had a bad setup because of the occasional hanging before I realized that eventually it always gets through, as long as I hear that initial bootup tone.
When planning to go into windows mode I cold boot the computer as a laptop, I then close the lid and plug it into my Henge dock, tap a key on my external keyboard to wake it up, I click restart and begin holding the boot options key, select windows and begin the boot, walking away and coming back. Once in it works fantastic, I play Overwatch with everything set to ultra and it looks and plays great. I have noted an issue when setting a website to full screen(like netflix or youtube) on the monitor that is plugged directly into the laptop, gets a little funky, flashes black across all screens for a moment and seems unstable, so I avoid it.
There may be a better way to do this, I'd love to hear if there is, but that's how I've done it. I note as well that I did install Windows 10 via bootcamp.