yep that's the correct way to handle it
but for relays, just gonna say it, it's less work to just keep the connection open and drop the messages because otherwise the dumbass clients keep reconnecting, and that's more noisy and higher bandwidth than just holding a ping pong
of course drop the connections if your websockets count is getting out of control but i think that's a pretty high bar to reach
Client: "Did you hear anything from bob?"
Relay: "Bob doesn't live here."
Client: "Did you hear any thing from bob?"
Relay: *oh brother*