Jelly, 8 bytes
IṠIỊ¬T‘ị
Explanation
IṠIỊ¬T‘ị
I Differences between adjacent elements {of the input}
Ṡ Take the sign of each difference
I Differences between adjacent difference signs
Ị Mark the elements that are in the range -1..1 inclusive
¬ not
T Take the indexes of the marked elements
‘ with an offset of 1
ị Index back into the original list
An element is only a local extreme if its difference with its left neighbour has an opposite sign to its difference with its right neighbour, i.e. the signs of the differences differ by 2 or -2. Jelly has a number of useful primitives for dealing with "find elements with certain properties" (in particular, we can find elements with certain properties in one list and use that to extract elements from a different list), meaning that we can translate back to the original list more or less directly (we just need to offset by 1 because the first and last elements of the original list got lost in the difference-taking).