You'd need to check if your homeserver is at a location with a fixed IP address. Some Internet service providers used fixed IPs, probably most don't. This is their external facing IP, so your broadband router at home will have 1 external IP. Then each device in your home will have its own private or internal IP. If you have a static IP, the subdomain can point to that, but if you don't, you need to use some sort of dynamic dns service, eg dyndns.org which can be configured in certain makes of broadband router.
The best way to set up the subdomain may be to use your domain management where you bought the main domain from, rather than setting it up in cPanel, but I don't use cPanel now so I'm not sure about this bit.
Then, when traffic comes from the subdomain to the router, you need to set up redirection so the router knows where in your home network to send it on to. Depending on how you're using it, it's probably Port Redirection settings in the router. If it's HTTP traffic you'd probably want to configure the router's public port 80 to redirect to port 80 of the IP address of your homeserver. Additionally your homeserver will probably need to have a fixed IP address so the router always knows where to find it.
I note you said your homeserver has a public IP. If it really does have a public IP then you'd obviously be able to skip some of these steps, but usually it's only the router that has the public IP.
Feel free to correct me anyone else! It's a while since I've done anything like this