Hi @Abhishekty,
If you want to store data in repository with your dynamically added attributes, than option 2 and 3 will not be the good one, because they only decorates values stored in crx, and if you will request for it via OOTB REST api, those values will not be included.
Option 1 looks interest...