You probably refer to one of the demos on our landing page?
I like how you describe the problem. You're absolutely right that SQL seems easy but it's these edge cases that make it hard to get right. Joining metrics with a date spine is definitely a good practice to avoid missing date periods.
I think we could/should teach Dot to do that in the future. It should at least be a feature you can turn on as the data team.