There are no through buses between Vang Vieng and Chiang Mai, basically you have the two choices that you listed:
- going back to LP and catching the direct bus to Chiang Mai;
- going to Vientiane, catching the local bus to Udon Thani (Thailand) and then the direct UT to CM bus.