Assalamu alaikum.
As a follow-up to my previous question, I found that if the client
running vnc is also running X and I switch the kbd layout to be Arabic
on the local machine, it will type Arabic on the remote machine. So,
until there's a way around it, you can start kxkb on the local machine
and Alt-Tab between it and a full-screen vnc session of the remote
machine to switch input languages. It's a clumsy hack, but it works.
(This still doesn't answer my original question because it was regarding
a vnc client on Windows.)