Short answer: GeyserMC sidesteps that player authentication process Java players need to do
Long answer:
I’ve used and set up GeyserMC before. It sounds like the server you’re joining has online-mode on, which requires all Java players who are joining to have a valid Java account and current authentication.
GeyserMC, being a mod to the server, entirely sidesteps this entire process. Your Bedrock cracked client requests to join and GeyserMC, being the way your client communicates with the server, just let’s you in. It just sends your client the chunks, the entities, etc. and lets you interact with them, and Java players are shown an additional Player entity (being you).
GeyserMC actually has authentication a server owner can set up that does require a valid Bedrock account or valid Java account, but it seems the server(s) you’re playing hasn’t set this up.
It truly baffles me how teachers could morally justify that. I would immediately think “Wait, if I make my students buy my textbook for the unit, I’m just fleecing them and they have no choice in the matter.” and you would naively hope that anyone else would also feel the same way.