This should be simple enough to test , just like how you tested EXplanFull ,whats the problem here? Is it not working as expected?
I have always used Expand Full mainly to add partitions, the idea with expand full is minor obejcts are deleted if they are not part of the script.
For example a Partition that has aggregates in the SSAS Database but not in your script. If the script is run the partition is altered but the aggregations are lost.
I am not sure what the minor objects would be when it comes to roles but I ttesting both ways with Roles I didnt see any difference in behaviour.