I have the Nexus 5 running Android 4.4.2 with the $30 T-Mobile plan with 1500 minutes/texts and 30 MB data, and finally was able to set mobile data to work only for MMS.
It seemed that no matter what the APN was set to, the phone would connect to the internet. Apparently, the newest Android got so smart that as long as there was any APN saved and the 'APN type' was set to 'internet,' 'default,' or was left blank, it would connect do mobile data regardless of any other settings.
The solution is to have only one APN with a fake name and APN, with the 'APN type' set to 'mms.' For example:
Name: Dummy
APN: dummy
Proxy:
Port:
Username:
Password:
Server:
MMSC:
MMS proxy:
MMS port:
MCC: 310
MNC: 260
Authentication type:
APN type: mms
APN protocol: IPv4
APN roaming protocol: IPv4
Bearer:
MVNO type:
The actual details of the MMS-specific APN are found under the SMS settings through Hangouts - a separate APN with the original settings from T-Mobile. Using only the APN listed above means that the phone cannot connect to the internet except to send and receive MMSes.
Problem solved!