Is it possible to have such a setting at a per user level?
No, there is no direct ways to set "out of office" status in Non-business hours. As a workaround, you can set the duration period of time to achieve this goal by following these steps:
1.In Teams client settings, click general and find the “Out of Office”.
2.Click “View” and turn on automatic replies. Tick “Send replies only during a time period” and set your out of office time scope, then click Save.

3.In the Calls settings, click configure voicemail and tick these settings like the following picture:

If the response is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.