Dear Christian,
for me the incoming webhook also works fine for addressing Users directly.
See here:
_For example, you might have a single webhook created for Town Square, but you can use payload={"channel": "off-topic", "text": "Hello, this is some text."} to send a message to the Off-Topic channel using the same webhook URL.
If an @ symbol followed by a username is specified, then the message will be sent to that user’s direct message channel_
Below Additional Notes:
https://docs.mattermost.com/developer/webhooks-incoming.html#creating-integrations-using-incoming-webhooks
best regards