Perhaps using something like keepalived on your server and Pi could be useful here. When the server is off the ip will failover to the Pi to receive server traffic to know when to power on the server. Once the request comes in and the pi powers on the server, it'll come active again and recieve the IP while the pi goes in to standby. That way the Pi doesnt need to be in the read or write path.
I'm not sure how Plex clients would handle it, but putting an nginx server with the same certificates and just returning HTTP 429 (Too Fast) or 500's and a "Please try again in 1 minute" response, along with sending the magic packet would work great for most HTTP based things.