It seems like the indenter does not recognize when a match expression closes, and so case classes declared afterward are indented to the same level as the case statements in the match block:
object Hello {
foo match {
case "bar" => true
case _ => false
}
case class Goodbye(
flag: Boolean
)
}