The term "class" is not a technical term with a universally definite meaning, but there are various established meanings in various contexts.
In ZFC the established usage as Wojowu mentions in the comments is that a class is any definable collection, allowing parameters. But in truth, one commonly also hears the term "definable class" to refer to this situation, especially from those researchers who sometimes routinely also work in the second-order contexts of GBC or KM.
However, it happens at times that one has a model $M$ of ZFC and subcollection of the sort you mention, which is not definable, but one wants to add it as an allowed class. An amenable class is one that can be added to the model while preserving certain parts of the theory. A weak form of amenability for a class $A$ should mean that $A\cap a$ is a set in $M$ for every $a\in M$. A stronger form would meant that $\langle M,\in,A\rangle$ satisfies the replacement axiom in the language allowing $A$. This is sometimes also called ZFC-amenable.
For example, class forcing often works this way over ZFC, since one often wants to augment the generic filter (which is not definable) to the model, and indeed, for tame class forcing the generic filter is amenable. This is how one can use class forcing to add an amenable class choice function or an amenable global well order to a model of ZFC.
In second-order set theory $\text{ZFC}_2$, a class means any subcollection of the universe whatsoever.
In Gödel-Bernays set theory GBC, one has specified explicitly the family of classes (for the Henkin semantics), and to have a class means to have a member of that family. It often arises that one will expand the family of classes, such as by class forcing, and so one will specify whether one refers to classes in the original model or the extension.
In finite set theory or arithmetic, the usage is similar to the above. In PA, one would often understand a class to mean a definable class, allowing parameters, but more generally, one considers the arithmetic version of amenability (called an "inductive" class), which means the model satisfies the induction scheme in the language with a predicate for the new class.
In second-order arithmetic, used pervasively in reverse mathematics, one has an explicit family of allowed classes (but they are just called "the sets" as opposed to the numbers), like the GBC case but for arithmetic. In $\text{RCA}_0$, for example, one has for sure only the computable sets as classes, but in $\text{ACA}_0$ one will have all arithmetically definable classes. In full second-order arithmetic, we allow arbitrary subsets of the model.
We often don't use the word "class" to describe a subcollection of the universe that would destroy important parts of the theory in which we are interested. For example, we might have a cut in a model of PA, but nontrivial instances of this are never inductive, and we don't usually call them classes. In this sense, we don't tend to use the word "class" in the weirder examples you provide.