There are two different dust mechanics.
The first is the dust upvote threshold, which is set at 50M rshares (closer to 0.001). Before HF20, upvotes below this level were not even accepted. Now all upvotes are decreased by this amount, so upvotes below this are treated as 0 but still work.
The second is the dust payout threshold, where posts/comments below the threshold (I think it's actually 0.02, but it's frequently cited as 0.03 to allow for variance in the value before payout) are not paid out. When a post fails to reach the dust payout threshold, there is no payment. As long as the post exceeds the dust payout threshold, then all upvotes that are above the dust upvote threshold are still counted.
For evidence of this, look at the curation history on an account like @sbi10... which does a lot of small upvotes for the smallest enrollment levels in the SBI program. The rewards you see here are from votes that ranged from 0.004 to 0.056 in value.
Well said, thanks for clarifying this!