I use three monitors on my system, and I have the Dock set to display on all monitors.
Let's assume I have three instances of Chrome open - one on each monitor.
In Unity, the Chrome icon in the Dock on each monitor has small dots to show you whether Chrome is open on the same monitor that this Dock is on, and when I click on the Chrome icon, I can the instances from all monitors, but when I hover over them, it shows me which monitor they are on before I switch to them, so I can easily tell which one will be opened.
In Ubuntu 17.10 with Gnome, I have the Dock on all monitors, but when I click on one of the Chrome icons (or any other app), I see the instances from all monitors, but when I hover over them, there is no way to tell which monitor the instance is on, so I'm left guessing. To compound the matter, after I click on one instance, the windows are reordered in a way that is difficult to predict, so I have to guess multiple times to get the window that I really want.
This is a very frustrating behavior because I regularly have dozens of windows open, and accidentally opening the wrong window covers up the window I was using, and to get it back I have to guess again, which invariably covers up some other window, and the whole thing spirals out of control.
I think the best solution would be either of the follow: 1. When you click on the icon in the Dock for an active application, only those instances that are on the same monitor as the Dock are shown. 2. When you click on the icon in the Dock for an active application, all the instances from all monitors are shown, but when you hover over them, there is some way to tell which monitor they are on. In Unity, I think it temporarily brings them to the foreground when you hover over it.
If anyone has any suggestions on how to handle this, I would be very grateful! I'm also a software developer, so even if you can just point me in the right direction inside Gnome or whatever, I can at least start hacking around things.