Have you done any speedtests of the dongle itself? 3G is an older technology, and I rarely get more than a few Mbps off my 3G dongle.
When testing raw OpenWRT speeds I can easily max out the 100 Mbps ports using ethernet. Wireless to client I can get around 60 Mbps average over 2.4 GHz (This is all tested with my router plugged into my LAN, and I transfer a file from my LAN to the wireless client). Again, your internet speed is dependent on these speeds.
Also, OpenVPN will cause the speeds to decrease… using OpenVPN I’ve seen speeds range from a minimum of 10 Mbps to a maximum of 20 Mbps. This is due to the heavy load due to encryption put on the tiny CPUs in these routers. This issue will appear in most router / embedded devices as their CPUs are quite small.