Hi @Nico_BE !
Do try this flow given below:

This event will be created in teams. I am using the current date.
The forms which I created what it looks like:

The condition which I am using is to check if it contains 'Before'. (You could also check if it contains 'Between'. Any will work.) The case which I am doing is checking if Before exists or not in that response.
So if yes, split the text say you got 'Before 08:00'. Split where there is space and get the 2nd text that is the time. In programming terms, it will be index 1 (as indexing starts from 0). So the expression used for Time Period action is:
split(outputs('Get_response_details')?['body/r497a8a9040de4fa088a6a21aeabf9ef8'],' ')[1]
In the case for the 'No' side, i.e. when it is 'Between', there will be two time periods.
Ex.: Between 10:00 and 12:00
Same expression for first one (since its at index 1) and other one just change the index to 3 (since its at index 3)
After this, do the conversion of time.

Time zone should be same since you are setting for universal people. Format string keep to Sortable date/time pattern.
Next use Add to time action. Since you need in 'Before' part to be -2 hours. This will give you Calculated time variable

Lastly, used a Create a teams meeting action to create an event of the same. Use the necessary variables in start time and end time. Since I didn't add a body to my forms, I kept it as 'None'.

Result:
It is success.
When selected Before:

When selected Between:

I hope this solves your question.