Your carrier certainly sees the target IP address of the packets that you are asking them to transmit. The carrier's job is to, indeed, carry your packets from your phone to the base station, and, from that base station, to route it to the nearest infrastructure link so that it may reach its ultimate destination. In your case, all the packets that you send are tagged with your VPN server's IP address.
If the carrier did not know the destination IP address, networking would simply not work at all. Therefore, it is perfectly normal that the carrier knows that you are talking to some address in Europe. It is part of their duties. Of course, by the magic of VPN, your server's IP address is all that the carrier can see; the true destination address (beyond the VPN) is hidden from them.
Inspection of destination addresses is an integral part of how routers work -- and your carrier is, by definition, your first outgoing router. The carrier will also keep a tally of all the packet sizes, in order to charge you if you go beyond your allocated quota. For cleartext traffic (HTTP), many carriers will also try to operate transparent proxies so that they may make some savings on their own bandwidth; your VPN prevents such proxies from operating. And, of course, your phone tends to use the DNS server provided by the carrier, so any name resolution will go through their hands (again, in your case, they will see the name resolution for your VPN server name, but subsequent name resolutions should be forwarded to your VPN server and won't be seen by the carrier).
Whether the carrier infers from such traffic that you would be interested in options for Europe-based roaming is another question. It is perfectly possible that the text message is purely coincidental. After all, my carrier sends me text messages offering discount prices for hockey and football match tickets, and roaming packages for central America, which are of no interest to me.