Why does android make hotspots with a different subnet mask that a regular home router? For example we typically get 192.168.1.XXX addresses from a home router, but an android phone gives out addresses on another 192.XXX which makes it problematic for connecting devices with each other in the same house.
Why does it do that: and if it's only for security reasons: can it be reverted to use the home router's subnet?
Note: This answer also applies to Apple iOS and other operating systems, which have hotspot (tethering) capability.
The WiFi or cellular network you connect to, is usually IP wise under the management of that networks DHCP server. It controls who get which IP. If your phone joined that network and would start handing out IPs that are &quot;owned&quot; by that network, you would over time run into an IP conflicts.
To solve this you could &quot;bridge&quot; those two networks, allowing your tethered devices to request an IP from the original DHCP server. But this will often fail, especially in cellular networks, as you will only be entitled to a single IP on that connection.
So for maximum compatibility, operating systems will use NAT when deploying hotspots (tethering). NAT hides the facts that your phone is sharing its connectivity with additional devices, allowing them to access the Internet.

...can it be  reverted to use the home router's subnet?

Technically you could, but those networks would remain separate thanks to NAT. You would end up with two 192.168.1.xxx which could not talk to each other. If you need your devices to talk to each other, your best option is to connect them to the same WiFi network. This will work best with private networks, as many public/Hotel WiFi might prevent this behavior.