Making an array object follow the shape of an object
Array modifier should not be needed.
I replicated your steps by making a plane above a sphere and subdividing and shaping it as needed. I also shrink wrapped it with the following settings:

I then applied the shrink wrap modifier and extruded the plane by 0.02. I made a rough selection of the holes that make up the grate. A fast way of doing this is to press C to create a selection circle and use the scroll wheel to make it very small. You can hold Shift + left-click to deselect faces.

Afterwards I extruded the selected faces by -0.01 (a value less than the initial extrusion). To get the proper materials set up without having to select everything all over again 2 materials were created, the first one being the base metal material that all the vertices will be assigned to by default, the second was the Pitch black material. With the selection still in place, Ctrl + Numpad + will expand the selection to the surrounding faces of the extrusion, you can then assign these faces to the second Pitch Black material.

For the Pitch Black material, simply hit Use Nodes and delete the default Principled BSDF and replace it with a Diffuse BSDF black color that will absorb zero light.

It should look good after that, you can make as many subdivisions as you want and make a proper metal material for the rest of the vent.

An alternative approach would be to extrude the vent from the actual sphere itself and disconnect it. That might flow with the sphere better if you don't like the shape that the plane takes.