Update: The post below explains some problems I experienced that seem to have been a fluke or perhaps based on some temporary problem with the APIs. As of now I can simply log in and dont see anything like the error behavoir I explain below. Ultimately the primary resolution to the problem I had seemed to be waiting as the problem seems to have gone away by itself, also huge thanks to Alice for pointing out the 'see more' option in the dynamic input which allows dynamic insertion of plaintext email value into mail field.
Yesterday I created a flow that included sending an email, and I needed to get the user profile from graph so used the O365 get user profile (v2), I also tested the get my profile (v2), and both of these functions are problematic, with version 1 of these functions, you could simply get the profile and then use a send email connector and simply populate the email address from the get profile into the send email address. But v2 version of these functions after you get the user profile, the dynamic content window will not allow you to insert the profiles mail field into the send to field on the send email block.
It will allow you to insert any field from the get profile connector into a text field like, for example you can insert the fields from the get profile into the body field of a send an email connector, but when you insert the field from get profile, it will wrap any connector you insert a field into in a "Apply to each" block. Even though a get my profile or get user profile action should return a single profile, the connector just assumes that the get profile action could output an array and automatically wraps any use of the profile data into these "apply to each" blocks, even though this shouldnt be the case with a single response query like get profile.
As a workaround I insert an expression to grab the field you want from the user profile and insert it into the destination field in the destination connector. If you insert any dynamic content fields in any flow, and then hover over the field you inserted, you can see the expression used by flow to connect the data, it should look something like: body('GetUserProfile')?['Mail']
In the above expression, GetUserProfile is the name of the connector that provides the data source, I grabbed a 'get user profile (v2) connector, and renamed it without spaces to GetUserProfile to make it easier to reference. In any case in the above expression, you would place the name of your data source connector where it says GetUserProfile, and then in place of Mail, you would use the name of the field you want to include, if you are using the get profile v2 connectors, Mail is the name of the email field in the Graphv1 user profile.
Thanks!