The command
macro global apply cisco-global
is a global command and should be put on all switches. This does not go on the interface.
The other commands look good. You can actually just leave off the $voice_vlan reference on that one command.
And yes you could can set the CoS and DSCP to match cisco and you would be in great shape.