APL (Dyalog Unicode), 2348 bytes
f←{1≥≢∘∪⍵1≥≢∪⍵:⍵,1⋄1+@(⊃⍋⍵)⊢⍵}
Alternate versions of 1+@(⊃⍋⍵)⊢⍵
: ⍵+(⍳≢⍵)=⊃⍋⍵
, ⊢+⍳∘≢=⊃∘⍋
. -12 thanks to @Adam and @Razetime.
Explanation:
{1≥≢∘∪⍵1≥≢∪⍵:⍵,1⋄1+@(⊃⍋⍵)⊢⍵}
1≥≢∘∪⍵1≥≢∪⍵ ⍝ if all elements are identical
⍵,1 ⍝ then yield ⍵ with 1 appended to the end.
⋄ ⍝ ... else,
(⊃⍋⍵) ⍝ index of the smallest value
1+@ ⊢⍵ ⍝ increment the value from ⍵