Is it a normal behavior
It could be, depends on what your task is.
Do I have to restart the SQL Agent service after changing to a domain user account?
Yes. After changing the user account for any service you have to restart. It will not run under the context of the new account until you do so.
Does the local user account continue to work
If I'm understanding this question right you're asking if the local user account will continue to be used after switching the service to a domain user. If so, then no.
You don't have to switch the SQL Agent service over to a domain user if you have the proper SQL Agent credential and proxy set and you've configured your job step to use that proxy. The account in the credential that the proxy is using does need to have the proper permissions at the OS level for anything that job step is trying to do, though. This is where I think things are falling down for you.
You'll need to post more information for us to help you on why it's hanging. Include things like what the step is doing (running a script/batch file, copying files, etc) and what specific errors you get not only in event viewer but also from the SQL log.