Efectivamente la primera opcion es para que pueda acceder como el quiere... o sea...
$stack["name"]["Inicio"];
$stack["name"]["Productos"];
Da lo mismo el valor si finalmente esta controlando el menu por la clave, y por lo mismo en el segundo ejemplo le di los valores en vez de clave para que pueda accederlos asi:
$stack["name"][0]; //Inicio
$stack["name"][1]; //Productos
Arme la funcion tomando en cuenta que sus valores estan siendo tomados de dos arreglos, de todas maneras estoy exponiendo otra manera de hacerlo, sin duda el codigo que has aportado tambien hace esto, eso no lo pongo en dudas
Saludos!