Custom tags must have data manually filled -- virtual tags don't write to custom tags. Do you have the Year tag filled in? If so, try this as a virtual tag:
$If($Contains(<Album Artist>,Soundtrack),$Sort(<Album>,<Year>),)
Otherwise, you would need to fill in data in your SortYear tag and then use this as a virtual tag:
$If($Contains(<Album Artist>,Soundtrack),$Sort(<Album>,<SortYear>),)
Then create a Custom Sort Definition to get everything sorted out the way you want. For example, I have a virtual tag called "Sort Various", which puts my VA albums in alphabetical order. My custom sort definition is Album Artist, Sort Various, Year, Album. This sorts my single artist albums by Album Artist, Year, Album, but keeps my VA albums alphabetically.
Hope this helps.