When I moved to a house that is only served via LTE, I built a linux router based on the quite popular PC engines APU and put a miniPCIe LTE modem inside. It has been very reliable, allowing us to work from home without issues.
My main gripe with LTE/5G modems is that they are not made to be bought and used by consumers. These things are rather sold in bulk to car makers or laptop manufacturers. This means that modems usually come with limitations or artificial locks, for example requiring a support contract to get firmware updates.
There is also a bunch of different standards for how to get a data connection from the modem depending on the manufacturer but on Linux NetworkManager/ModemManager make this problem much smaller.
For the antenna, my understanding is that it is possible to either focus on a specific tower with a pair of high gain antennas oriented towards the tower, or use antennas that blasts in every direction like a phone.
At home I use the focused approach with 15 dBi indoor antennas and the four different metrics for signal quality reported by my modem are all excellent. The drawback of this approach is that in the rare cases when my tower is down, the antennas cannot fall back to a different tower.