When any computer asks a DHCP server (at home DHPC is usually run by router) for an IP address, it can optionally tell the sever it’s hostname.
DHCP gives back (leases) an IP address to use (with an expiration time), and stores a record containing this IP address, mac address of a network interfaces that IP was given to – and optionally a hostname.
So when your computer asked for an IP after reboot – it got an answer with an address and hostname assigned previously to the Live session. DCHP doesn’t distinguish between OS’es, it looks at the MAC address – so it saw a request for an IP from the same MAC, looked for an IP it got assigned previously, and answered something like: ow! I already know you! Your IP is this, and by the way your hostname previously was this.
And as far as I understand it, if your system haven’t got a static hostname, it would use what it received from a DHCP server as a transient (i.e. temporary) hostname.
This tool distinguishes three different hostnames: the high-level “pretty” hostname which might include all kinds of special characters (e.g. “Lennart’s Laptop”), the static hostname which is used to initialize the kernel hostname at boot (e.g. “lennarts-laptop”), and the transient hostname which is a fallback value received from network configuration.