We're talking about VPNs and blablabla. What if you make a transaction, using cafeteria's free Wi-Fi? I think you would be covered...
You can use VPN after you connect to the free WiFi, so at least, you can hide your identity, and the cafeteria's WiFi doesn't know which one of their customer who use their free WiFi. But I think we can not hide the number of bitcoin that we send or receive because the transaction will appear to the blockchain transaction. The other people will only know the amount without knowing who is the sender and the recipient.