Ok found a solution in this forum thread: How can I get sheet content by javascript? - #4 by MisakaCirno
TL;DR: Action sheets are actually multi instruments so instead of eventSheets[ i ].modules it had to be eventSheets[ i ].modules.sounds for action sheets.
Function ended up looking like this:
function HasVariations( event )
{
var eventSheets = event.parameters;
eventSheets.push( event.timeline );
for( var i = 0; i < eventSheets.length; i++ )
{
var instruments = [];
if( eventSheets[ i ].isOfExactType('ActionSheet'))
{
instruments = eventSheets[ i ].modules.sounds;
}
else
{
instruments = eventSheets[ i ].modules;
}
for( var j = 0; j < instruments.length; j++ )
{
if (instruments[ j ].entity == "MultiSound" )
{
return true;
}
}
}
return false;
}