Here's a .zshrc-level workaround to try:
functions -c -- _normal _normal@c:drive
_normal () {
if compset -P /c/
then
local opwd=$PWD ret
cd /c || return 1
_normal@c:drive "$@"
ret=$?
cd $opwd
return ret
else
_normal@c:drive "$@"
fi
}