The Scala 3 compiler treats package objects and toplevel definitions mostly in the same way. So the added overhead of package objects is very low, in both spec and implementation. I am not sure what problems were encountered in Scala 2, but it would be good to check each of them whether they still persist in Scala 3.
About dropping package objects: Yes, that was the original intention. But since we still don’t have good alternative solutions to the points mentioned in Plan for Package Objects in Scala 3 it seems the best way forward is to keep them.
For instance, the concern how to document a package requires a solution where there is one specific artefact standing for a package. We have package objects, and moving to something else would be painful.