No, you cannot (legally) get it permanently for free, outside some super ancient versions.
I remember back when I bought Minecraft it was just starting to get popular and I only had to pay once, so how does it work now days then?
Java version: (Windows, Mac, Linux). Still buy once, no subscription or DLC/MTX purchases. Its main benefit is getting updates first and the extensive modded scene.
Bedrock version: (Win 10/Xbox, mobile, also other consoles like the switch). Still buy once, no subscription. Microsoft has tried to monetize the mod scene with the Marketplace, a store to buy mods and resource packs (submitted by the community, with authors earning a share of sales). In terms of variety and functionally, the mod scene on bedrock is
vastly inferior to java, but it
does run better. Some block/entity behavior in bedrock is slightly different than java. The biggest benefit is bedrock is cross-platform compatibility -
except with the java version.
Note: Although all bedrock versions are technically the same, I believe you need to purchase it separately for each platform. You can't buy win10 and somehow install it on switch, you have to buy it from the switch store directly.
The biggest confusion in choosing versions is that java and bedrock versions are not compatible. You can't connect to a bedrock server with java version, or vice versa. They require separate purchases and, for all intents and purposes, are separate games. But any bedrock version (e.g. console) can connect to any bedrock server (provided, of course, they are at parity with updates).
Both versions also have Realms (Microsoft's attempt to monetize server hosting), but it's cheaper to run a server through a third party (though third parties may not have as much support for issues as a Realms server).
A short while ago, it was possible to get the java version free with bedrock purchase, but I don't know if that campaign is still running.
Also I have no idea what all Microsoft did to the game, the last version I installed was the last one Mojang did before they got bought out.
Microsoft is remarkably hands-off about it. Despite development of bedrock, they still fully support java (and in fact java version gets all the updates first, that are then ported to bedrock).
The java scene is mostly quite happy with how microsoft is running things, aside from growing pains around the mojang->microsoft account switch or anxiety that the java scene is running on borrowed time (microsoft are well within their legal rights to unilaterally kill modded or outright end java support if they so choose). There might be some complaints about how long they go between updates and the amount of content that results, but I don't think that's specific to versions. (Java version has also had a bunch of technical changes that takes the modding scene time to adjust to.)