As you stated, IP has 20 bytes of overhead, UDP has 8 bytes of overhead making it 28, additionally you have your 8 bytes payload, making every packet 20+8+8 = 36 bytes if we stop at IP level.
If you have 10K pck/s then it will be 36 bytes/pck * 10000 pck/s = 36000 bytes/s
36000/1024 is about 350, so 350 kbytes/s. Not too far off I'd say.
Also, I don't know if the system network monitor considers the IP overhead or not in its calculation, but if we were to remove the IP overhead you would still get 28000 bytes/s which would mean 273 kbytes/s. So in any case i'd say what you see on your end is expected.