In the meantime, I found the solutions. Simply initializing the i-figured package AFTER the custom heading show rule did the trick. In the template, the init is done before the custom show rule, resulting in the numbering not working properly.
// define show rule
show heading.where(level: 1): it => {
// custom show rule
}
// init i-figured package
show heading: i-figured.reset-counters
show figure: i-figured.show-figure
show math.equation: i-figured.show-equation