tl;dr at the bottom.
You can't cross-play between Bedrock and Java. (Well...technically you can if you run a Java server and install the Geyser plugin onto it, but I get the impression you want a simple solution.)
Do we each need our own Minecraft account?
Yes. Two people cannot use the same Minecraft account in multiplayer at the same time.
Do we need to play on Realms or something like that?
Realms is basically a way to pay Mojang to run a server for you, rather than doing it yourself. Unlike a LAN game, or joining a friend's world in Bedrock, Realms and servers remain available to join even if the host player isn't playing.
sort of old school LAN style?
Both Java and Bedrock have ways to set this up. In Java, you can open a world up to LAN play. [https://minecraft.fandom.com/wiki/Tutorials/Setting_up_a_LAN_world](Tutorial for LAN play)
Both Java and Bedrock allow for multiplayer games over the internet. In Java, you can either use a Realm or set up a server on your own [https://minecraft.fandom.com/wiki/Tutorials/Setting_up_a_server](Tutorial for setting up a vanilla server). In Bedrock, you can join your Xbox friend's worlds so long as they are playing at the same time, and you can also join Realms or servers just like Java. (Sorry, I didn't see a tutorial on the Wiki for this)
One last thing, I'm a server owner who's been working with this stuff for the better part of a decade. If you want to chat more, I'm happy to help you.
tl;dr: Buy a second copy of Java edition and use that on the PC. Then you can host a LAN world from either the PC or Steam Deck. [https://minecraft.fandom.com/wiki/Tutorials/Setting_up_a_LAN_world](Tutorial for LAN play)