API tokens are usually explicitly scoped by the user when they create them. I don't recall Google (or anyone else) ever exposing that when creating an app password, but maybe it was scoped down on first use?