When uploading a bundle with manifested rsg_version=1.2, always mark minimum OS requirement as 9.0 in dev.portal. That way the new version goes only to devices that actually support RSG 1.2 - when they get upgraded to 9.0, which may take months.
I don't want to speculate / take a guess on how rsg_version=1.2 app would behave on pre-9.0 firmware. I personally don't know how rsg_version=1.2 would affect pre-9.0 FW, so i say "just don't do it" - there is no good reason to request a feature from the future, this ain't Python 2.7 (cue "from __future__ import print_function").
Yes - with RAF 2.5 or earlier, rOS 9.0 would break your ad-supported RSG 1.2 (that is, only for rsg_version=1.2!) app due to a fussy compiler error. The good news is that RAF 2.6 was rolled out last week and is currently at 90% penetration.