var msgRootFId = new EWS.FolderId(EWS.WellKnownFolderName.MsgFolderRoot, new EWS.Mailbox(SMTPAddress));
for this replacement is var msgRoot= .Users[SMTPAddress].MailFolders["MsgfolderRoot"].Request().GetAsync().GetAwaiter().GetResult();
That's not correct all that line does in EWS is creates a FolderId object to be used in the next call which isn't' needed in Graph, it doesn't make any requests to EWS
msgRoot = EWS.Folder.Bind(service, msgRootFId, EWS.BasePropertySet.IdOnly); what is method in Graph SDK?
Folder Bind makes a GetFolder Request in EWS that returns the folder and with the property set your using it would only just return the id so
var msgRoot= .Users[SMTPAddress].MailFolders["MsgfolderRoot"].Request().GetAsync().GetAwaiter().GetResult();
Does exactly the same thing in the Graph eg it make a REST get and returns the MsgFolderRoot for that mailbox, if you want to limit it to just the Id then
var msgRoot= .Users[SMTPAddress].MailFolders["MsgfolderRoot"].Request().Select("id")..GetAsync().GetAwaiter().GetResult();
The Id's you get back will be different in that one is the EWSId for the Mailbox and the other is the RestId