Help with filling data in previous years and months

Well it's not elegant and not automated, but at least for your particular example you could always "manually" duplicate 2018 only changing the year:

template <- vol |>
  filter(year(Date) == 2018)

bind_rows(template |>
            mutate(Date = Date - dyears(2)),
          template |>
            mutate(Date = Date - dyears(1)),
          vol)