This code is pretty much doing what we discussed, and it works in the example file attached to T78071. However, it breaks the EEVEE Spring rig; with this patch applied, Spring's hair is gone.
@Sergey Sharybin (sergey) I'm just uploading it here so that maybe you can take a quick look to see if something seems iffy to you. Otherwise I'll just continue tomorrow and figure out why it's failing.