Upsample - filter - downsample
Your goal is to create a signal with 3 times more samples. The first step is to insert 2 zeros between each sample.
Technically, you now have a signal with 3 time more samples, as you require. However most of the samples are zeros. What you need to do next is to interpolate the 2 samples between each 2 nonzero samples. And this is exactly what the low-pass filter does (or, at least, this one way to look at it).
Digital filters introduce delay to the signal by half the filter's length. I believe this is the reason for the time shifting