Transform fields disappear when switching metrics

I’m not sure if there is a solution to this. Basically I have a single table in Grafana. It pulls in specific running services from Linux and Windows boxes as so:

(systemd_units_active_code{name="$hostname", exported_name="postgresql.service"}) OR
(systemd_units_active_code{name="$hostname", exported_name="ssh.service"}) OR
(win_services_state{name="$hostname",display_name="Veeam Agent for Microsoft Windows"})

This allows me to check their state. As you can see, I am using “display_name” to show the Windows Service name and “exported_name” for the Linux servers. I also use these fields in my transformation where I hide most of the fields and only reveal the name of the service and it’s state using a value to text filter.
This is where things breakdown. The metrics do not share a common named field for the services so when I set up the table for Windows services and use the “display_name” and “value” fields, save the dashboard and then switch the dropdown to a Linux server, the table breaks and I have to manually add the “exported_name” field in manually. This will then obviously break again when I switch back to view a Windows server.

Is this a limitation of Grafana or am I missing a trick to make this work?