The DHCP protocol is being by the PC to get an address. So, when it sends out the request it uses a dummy filler for it's own address, but the Mac Address (I.e. the hardware Ethernet address on Ethernet) is sent in the packet. The packet is also sent to a general (broadcast or multicast) address. Since broad/multi-cast packets are not forwarded, it won't make it (directly) to a server on another segment. And since there's no IP address (yet) for the original host, without help, a reply cannot be routed to the original querent.
To address this the DHCP protocol has the concept of a DHCP relay (sometimes called a DHCP helper). If there is a DHCP relay on the same Ethernet segment, it receives the original DHCP request and then updates it to have the unicast IP address for the server and it's own IP address for the reply. Then when the reply is received, it matches it to the original request and has a Mac address to send the reply to.
So what you need to do is configure either the access switch or firewall to act as a DHCP relay. Depending on the specific models either or both might be able to do this. Note that you also need to be sure the firewall allows the traffic, and remember that in DHCP you have relayed packets with modified addresses that may affect how you filter.