They are both the same thing, so you can do either of them, but I'd rather do it from recovery, since the recovery factory reset also clears your apps2sd folder. Clearing that folder minimizes "failed to install" problems a lot of people have. The system tends to "failed to install" when it tries to install an app and finds lingering files of a previous install on the SD card.
And you won't lose the license for your paid apps, those are tied directly to your Google account, so just logging into your Google account permits you to get your paid apps again.
It's a bit bothersome though, since you will be doing a factory reset, you'll have to re-download all your apps again if you haven't made a backup. But I'd recommend making a backup with the MIUI backup app (since you'll be restoring onto the same MIUI version, it should work flawlessly) and restore apps and only app data for those apps which you truly need app data restored for.