Lets you manually link villagers to beds/job blocks, and adds customisable visual/audio effects when the link happens
Villager-Link-Highlighter
Built for Paper 1.21.8
This adds a config file at plugins/VillagerLinkHighlighter/config.yml in which you can extend/change the effects associated with a villager accepting a job block/bed as it's own, including adding a sound effect and changing the visual effect. An additional visual effect is also applied to the relevant block. This makes it easier to identify when a villager has linked, which can be a pain when you are doing multiple in one session.
The command /villagerlink stick will also give you a stick that lets you manually set a villager to a specific job block and/or bed. Equip the stick, Shift+Right click the villager to select it, and then right click the relevant job block or bed. This works for anything, like setting up beds in a villager breeder, food farm, iron farm with villagers etc.
This was mostly so I could debug/fix problems in my own trader village, so I haven't tried it over large distances or anything like that. It's intended to fix problems with nearby blocks or beds in a regular set up, I can't vouch for this working anywhere else.