Your analysis looks good. The term Bucketsort is used for many different algorithms, so depending on which one you looked at its average execution time, it may be O (n + k) or not.
If I were to guess, you could look at a typical option, where we choose k very large so that n / k will be a constant. In another popular variant, even k → n, therefore, buckets are divided into k / n instead.
If you give in detail an algorithm and a source that claims to be on average O (n + k), I can return to my answer.
source share