The problem is not really the battery anymore, it's the software mainly. It's all closed source and is often deprecated before the hardware is dead. Then the manufacturer makes it hard to unlock bootloaders; keeps drivers closed source and effectively bricks the device. For recurring sales are the backbone of modern economy so we must force obsolescence. Why would you want to replace a battery in a useless device? Pl…
No, it's batteries too. And water/dust/fluid ingress protection. Modern phones are sealed up pretty tight because users want them to be waterproof. This makes it very difficult to build in replaceable batteries!
You really shouldn’t want to replace batteries on the fly in general — it makes stealing easier (modern phones can’t be powered off easily without authorization) so you may find it before it loses power, waterproofing suffers, etc.