Hey @JustaMan2020 !
Welcome to the Community.
Because iMessage uses either Wi-Fi or mobile data to send and receive messages, it would explain why your son wouldn't be able to use this feature when he can't connect to the internet.
Disabling iMessage should indeed resolve this, as regular text messages don't require an internet connection.
Hope this helps!
Welcome to the community!
If your son has a Talk & Text plan, you should note that iMessages are not sent as text messages. They are sent as data. That is likely the reason he doesn't receive the responses until he gets home (assuming you have Wifi internet at home). The iMessages app is supposed to be able to send both text messages (SMS & MMS) and iMessages, depending on whether the recipient uses an iPhone device or not. Since your son also has an iPhone, your settings would be preferrably send him iMessages.
If he was able to send an iMessage to you, he would have had to have been using a Wifi connection. During the times he is away from Wifi, you would need to force your phone to send him SMS rather than an iMessage. You should also note that since he does not have data with his plan, he will not be able to send/receive MMS either. So, you would also need to ensure your device sends him a SMS rather than MMS.
That said, I'm not sure if Apple has a setting to be able to manually choose to send SMS vs iMessage. However, this post from a different forum describes a workaround. Essentially, you would need to disable data or disconnect from Wifi. If you try to send a iMessage, it will not send because there is no internet connection. Tap and hold the message and choose to send as text message. Once sent, you would need to reconnect to the internet.
Hope this helps 😀