Meta tags can go in any order. The order won't cause you any issues unless for some reason you have a massive <head>
and search engines give up on reading it all ;) (it'd have to be very big for that though so don't worry)
In regards to the Wordpress action, you can use the priority parameter on this to run your hooked function in a different order. You'll need to experiment a bit as it depends on what else is running (ie what plugins you have that are adding content here), but a lower priority number will run first and a later number will run last. The default is 10.
For example, to run your function as soon as possible:
add_action('wp_head', 'my_function', 1);
You could possibly use 0 or even a negative number there if you really want - I haven't done that before so just test if it works first.