I'm very direct about this with new hires.
"I'm awake and work weird hours. Please don't take a message from me outside your normal hours to mean I want or need an immediate response unless the message is directly talking about a production outage in which case i'll be explicit about that. If you're around and you want to spend a few hours debating the merits of embedding a lua interpreter into a data processing pipeline vs trying to figure out how to droplessly reload golang code great, if not, we can pick it up the next time we're both around.
On the same note, please don't not message me because it's late where you think I am at the moment and please don't not let me know about something because 'it's normal US hours, he probably already knows.'
Please also don't take offense if I don't respond immediately, despite appearances, I do sometimes actually sleep."
Setting the actual expectations works great. Some people respond simply by saying that they won't put slack on their phone, or will turn notifications for slack off and I'm fine with that (having their number to call for actual emergencies).
I think the problem arises not from the direct actions here (messaging someone at 3am) but by the implicit expectation of a reply. I think some people don't realize what they're doing but I think a lot do and they want to create that implicit must-reply-24-7 nature.