I am wondering if there is a more straightforward way to understand $\frac{\partial\mathcal L}{\partial(\partial_\mu \phi)} = \partial^\mu \phi$ for a real scalar field $\mathcal{L} = \frac{1}{2} (\partial^\mu\phi)(\partial_\mu\phi) - V(\phi) $.
Here's what I did by expanding the indices:
\begin{align} \frac{\partial \mathcal{L}}{\partial (\partial_\mu\phi)} &= \frac{\partial}{\partial (\partial_\mu\phi)} \left[ \frac{1}{2} (\partial^\nu\phi)(\partial_\nu\phi) \right] \\ &= \frac{1}{2} \left[ \frac{\partial (\partial^\nu\phi)}{\partial (\partial_\mu\phi)} (\partial_\nu\phi) + (\partial^\nu\phi) \frac{\partial (\partial_\nu\phi)}{\partial (\partial_\mu\phi)} \right]\\ &= \frac{1}{2} \left[ \delta^\nu_\mu (\partial_\nu\phi) + (\partial^\nu\phi) \delta^\nu_\mu \right] \\ &= \partial^\mu \phi. \end{align}
Does this seem correct? Is there a more straightforward way to see why there is a raise in index from $\partial_\mu$ to $\partial^\mu$ when we take the derivative?