I understand why it doesn't work but I'm not sure what to do about it. At start-up time, via a LIB$INITIALIZE psect, we capture feature settings from the environment and/or set some defaults. For certain features, we save the setting in a global variable. Here's where the setting of DECC$FILENAME_UNIX_REPORT is stored:
http://perl5.git.perl.org/perl.git/blob/HEAD:/vms/vms.c#l14044
I think part of the reason for this was so we don't have to call decc$feature_get all over the place to check the setting, but I also think at one time we supported some features in Perl that older CRTLs didn't (yet) have. John Malmberg designed all this and at one time planned to have a VMS::Feature Perl module that would allow you to get and set these features, but he never implemented it.
So I think the only choice right now is to get the setting in the environment before Perl starts up.