Post body not working with wp_remote_post()

You’re setting the Content-Type header to application/json and wp_remote_post() doesn’t intelligently JSON-encode the request data (the body array), so you should manually do it. So for example:

'body' => json_encode( array(
    'Username' => 'myusername',
    'Password' => 'mypassword'
) )