Were you able to solve this? I will give my ideas on your questions below.
1) There is PostRequest_Submit action in the HTTPRequestHandler extension, but I do not think you can write the POST request you have shown using it. This because the PostRequest_Submit action always adds the content-type: application/x-www-form-urlencoded header and you do not have a way to add headers to the POST request (you need to add the OAuth realm header). I think in your case the best thing to do is to create a new extension with the code that writes your post request - it would be fairly easy to do it, just create a new extension, copy the .Net implementation of the MssPostRequest_Submit action of the HTTPRequestHandler extension and create a similar one with your particularities.
2) I made a test and you can read a POST request content with the action GetRequestContent on the HTTPRequestHandler extension. Create an OutSystems entry point (eg. named ReadPost) in a Web Flow that goes to a blank screen. In the preparation of this screen, use the GetRequestContent to get the content of any POST requests made to ReadPost.aspx). You can use the IncludeHeaders parameter of the GetRequestContent action to determine if you want to read the headers too.
I hope this information helps.