Hi @Jan Tošovský,
Welcome to the Microsoft Q&A platform!
I think your idea works. Microsoft Graph permissions and Mailbox permissions are enough, Mail.Send.Shared permission ensures the permission to send the message, on behalf of the sender and the proxy sender determines the result of the sender.
https://learn.microsoft.com/en-us/graph/outlook-send-mail-from-other-user#permissions
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".