WMIC is a thin wrapper around WMI which as a more "modern" API uses UTF-16 Unicode strings. Command Prompt, for backwards compatibility reasons, deals with ANSI.
WMI was designed primarily to be used from VBScript, and more recently Powershell. WMIC is more of a hack that provides some of the WMI functionality some of the time to some Command Prompt users. But it doesn't really do a great job of actually transforming the data to a form that is more usable in Command Prompt- (again, thin wrapper, exercise for the user, etc.)
Bash sometimes presents similar encoding issues, if a program outputs in a format that isn't the same as the setting for Bash in /etc/rc.conf. (not sure where it is with systemd). But it defaults to UTF-8 which tends to work better. (Of course UTF-8 wouldn't work so well for Command Prompt since it woudl break loads of batch files that rely on it being ANSI)