Alert with Graphite query using two metrics + scale/divideSeriesLists/diffSeriesLists

Using Grafana 7.5.3 on GKE.

Having two metrics representing the number of microseconds related to cpus of a system:
#A for idle (hidden) ==> tgds.systems.ocins.tgds23.cpu.time.idle.*.CPU-UTILIZATION
#B for alive (hidden) ==> tgds.systems.ocins.tgds23.cpu.time.alive.*.CPU-UTILIZATION
#C formula to print cpu usage ==> scale(divideSeriesLists(diffSeriesLists(#B, #A), #B), 100)

So far so good, it prints as expected the percentage of cpu utilization.
But setting an Alert with condition WHEN max() OF query(C,5m,now) IS ABOVE 40 does not work properly. Below the output of Test Rule, the second instance of #B does not seem to be correctly replaced, what am I doing wrong ?

I made another stupid test … defining a metric A and then defining B as diffSeriesLists(#A, #A) which simply plots a zero line. Then an alert on query B will produce the same error by not replacing the second instance of #A.

Found a workaround by defining twice the same metric:

#A for idle (hidden) ==> tgds.systems.ocins.tgds23.cpu.time.idle.*.CPU-UTILIZATION
#B for alive (hidden) ==> tgds.systems.ocins.tgds23.cpu.time.alive.*.CPU-UTILIZATION
#C for alive (hidden) ==> tgds.systems.ocins.tgds23.cpu.time.alive.*.CPU-UTILIZATION
#D formula to print cpu usage ==> scale(divideSeriesLists(diffSeriesLists(#B, #A), #C), 100)

Then the alert based on D just works fine !