I'm aware that if you buy Minecraft proper (~$30) you have a license for Bedrock and Java, but I'm a little blurry on what license you get when you buy Minecraft from the Google Play store (~$5). I'm assuming it's a Bedrock-only license, and Microsoft makes money off selling skins etc.

I think most seasoned players, technical folks, or Mac users, would prefer Java. Java Minecraft doesn't have microtransactions, skinning your character is a matter of changing a file, and the plugin/mod support is huge. That's why I stuck to treating the server as "Java first, Bedrock supported" instead of ignoring Java and only playing Bedrock.

The license is tied to the platform (for the most part, there have been ways to run Java edition on android forever), so if you bought the android version you only have whatever's available on android.

I brought up the bedrock/java bundle deal with the PC version since the main advantage of Bedrock is the crossplay. If you want to play with someone on (for example) android, you can simply choose to launch into bedrock on PC for multiplayer

Correct me if I'm wrong, but what you're describing is client-hosted Bedrock servers, not a persistent, always available, self-hosted server. AFAIK connecting to a friend's world in Bedrock is free, but they must also be online. Hosting a persistent Bedrock server is a paid feature (Realms).

Additionally, highlighting that Bedrock Minecraft is not supported on Mac.

There are surely other ways of enabling multiplayer Minecraft for a family than what I've described, but this is the way I'd recommend.

Correct. There are ways to host bedrock servers, it just isn't as easy and most people are better served by realms.

Also, I thought you could play the iOS version on Mac. Doesn't apple let you run iPad apps on macOS?

Unfortunately, Apple made the decision to have that be an opt-in flag for developers, and so the vast, vast majority of iPad apps don't allow themselves to be used on macOS.