Backupset server name on dev server shows Prod server name I'm using the following code to determine the last time a database was backed up:

SELECT
@@ServerName as HostServerName
   ,bus.server_name AS BUSservername
   ,sdb.Name AS DatabaseName
   ,COALESCE(CONVERT(VARCHAR(12), MAX(bus.backup_finish_date), 101), '-') AS LastBackUpTime
FROM sys.sysdatabases sdb
LEFT OUTER JOIN msdb.dbo.backupset bus
ON bus.database_name = sdb.name
WHERE 
   bus.backup_start_date &gt;= DATEADD(DAY, DATEDIFF(DAY, 1, GETDATE()), 0) -- Previous day at midnight.
   AND bus.backup_start_date &lt; DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) -- Today at midnight.
GROUP BY 
   sdb.Name
   ,bus.server_name


And it appears to show the data I'm looking for, but if I run this code on a development server, for example, it shows its corresponding production server as the bus.server_name value.
I'm trying to understand why it's showing a production server' name and not itself.  I may not be understanding how the backupset table is getting its value.
I know I can use @@ServerName for that value but I'm not sure if that is correct way to get that value.
Below is a screenshot of my results with the server names obviously blacked out:
This is confirmed.

If you restore a database from one server to another, but never back it up, and run the code I have above, it will show the server name from the original server it was backed up from.

BUT if you then do a backup of that same database, it will then show the current server it was backed up from which is what I expected.