It's under Settings > Objects. Dashboards are made up of references to Visualization objects, which are made up to references to Saved Search objects (which is what you create in Discover). Your best bet is probably to Export All, add/modify objects on the exported JSON data, and re-import the objects. The trick is to make sure that you export all of the "child" objects that are being referenced, otherwise the imported objects won't work, and I don't recall whether or not the exported has been fixed/made smarter to automatically include the child objects (it's worth trying yourself I guess) - Export All definitely does. It's a little cumbersome, I know, but it's an option...
if I add a new data field I need go create the Visualisation for all the systems and then update the dashboards
That should only be true if you're using those new fields in your Visualizations, and even then, you shouldn't need to create new Saved Searches - unless you're also applying filters on those new fields as well. But even then, I think you really only need to modify one or the other, and you don't need to touch the Dashboard at all, unless you're creating totally new Visualizations.
The workflow thus far has been to create a query in the Discover tab with the system name for example: sys_id: "host01-01" then save that, create the Visualisations then build a dashboard for that system.
Are all of the Visualizations and Dashboards the same, just using different Saved Searches (ie, different
sys_id's)? If so, you could just build 1 set of Visualizations and apply that query at the Dashboard level, and simply save several Dashboards with the different queries for different
sys_id's you need. That would dramatically cut down the number of Visualizations you need to maintain, and remove any need for Saved Searches (assuming that's all you're doing with them).