So I finally managed to get this to work since I was struggling for weeks. The solution is to include the member parameter in the body parameter since every Roster container needs at least one member. When using an admin user the admin is automatically assigned. This does not work with Azure Application. The body needs to look like this:
$params = @{
"@odata.type" = "#microsoft.graph.plannerRoster"
members = @(
@{
userId = "member@mail.com"
}
)
}
This resolved the Status 400 Bad Request for me.