Basically i was able to answer my own question. We didnt have to have a direct sip trunk with teams via SBC.
When you try to transfer a call to Teams person in Genesys(you lookup the name and click on that person with teams icon), it will transfer to a phone number that is synchronized from Azure and is put under "other phone" field in Genesys.

Most of the time, the synced number will be a valid DID so you should be able to route to teams through Genesys Cloud Voice. but having a direct sip trunk via SBC would be beneficial as it will be cheaper to route calls or you can assign non DID numbers.

Also, as far as i know you only need to give Microsoft teams role to people who will actually be logging in to Genesys and transferring calls, not everybody who was synchronized from Azure.
For voicemail, in Genesys agents should have Communicate user role to have voicemail box.
------------------------------
Azamat Rustamov
Cerium Networks
------------------------------