Short answer. No you can't.
SOCKS5 supports UDP Association, where you can get the SOCKS server to relay UDP data between a client and another endpoint. There are numerous problems with the design of this however (it reduces payload by adding another layer on top of UDP for the packets between the client and SOCKS server).
So not many SOCKS5 servers support it (ours does).
But there's no way via a SOCKS server to convert TCP to UDP. If the SOCKS server doesn't support UDP Associate, then you won't get UDP through it. DNS is only working because DNS also supports TCP.