Bedrock and java have different behaviors in many things. Not to mention different mod scenes. Those two are very much different games imo.
But still I don’t see what that has to do with always online. Crossplay doesn’t need you to be always online
And those separate behaviors would be minimized if they supported cross play between Java and Bedrock.
As for cross play and always online, you’re absolutely right that it doesn’t require it, but it makes things a little simpler. If a game requires you to login with the server on startup, that check only has to happen once, instead of happening when you engage with the multiplayer mode. It also makes it so the game can integrate social aspects pretty easily (friend X is online, do you want to play together?).
So if a game offers multiplayer as it’s intended main gameplay, then it can make sense to require always online.
That said, I still hate it. I would prefer companies be forced to support offline play if they offer a significant single player experience. I know it’s something I consider when buying a game (I play with my Steam Deck offline quite frequently), and ideally game stores would have similar requirements as well.