I actually have things like "play x by y" functioning really well without a LLM.
Have a custom service that exports all song/album/artist names from MusicAssistant, does some simple cleanup, and places the list where HomeAssistant expects it for custom voice intents. Then this: https://github.com/charludo/hass-closest-intent is enough that imperfect STT can still easily be matched to those song/artist/... names.