Vyxal s, 12 bytes
ṫ$RǐR5‛_-ẎYp
-5 bytes thanks to emanresuA
How?
ṫ$RǐR5‛_-ẎYp
ṫ # Tail extract, push a[:-1] and a[-1]
$ # Swap
R # Reverse each
ǐ # Capitalize first letter of each
R # Reverse each
5 # Push length without popping
‛_- # Push "_-"
Ẏ # Extend this string to the length
Y # Interleave the list of words and each character of this string together
p # Append the last item of the input (pushed earlier by tail extract) to this list
# s flag joins this list to a string
naffetS
- 13.1k
- 2
- 22
- 54