Python 3.8 (pre-release), 125 121 114 111 108108 107 bytes
import math
c=math.comb
f=lambda n,r,k=0,c=math.comb:n and(cn<c(k+1,r)>n and f(n-c(k,r),r-1)+[k]or f(n,r,k+1))or[*range(r)]
Explanation: Start from k=0 and keep increasing k as long as comb(k, r) does not exceed n. Update n accordingly. Once the current value of n is 0, simply return the first r integers starting from 0.