Hey,
If I hand-place quality seeds, they work, also nice work on scaling grow time as well as released spores!
But currently if I put quality seed in  an agriculture tower, the script will not trigger the quality replacement.
My current Factorio version is 2.0.69
This bug exists without other mods loaded.
How I got here?
So I was trying out your mod when I started debugging a compatibility issue with mine. (Zen-garden).
Suggestion to remove:
plant_prototype.autoplace = nil in data-upadtes.lua line 32 
or replace it with the default
plant_prototype.autoplace = data.raw.plant["tree-plant"].autoplace
defualt value = tree_plant.autoplace =
{
  probability_expression = 0,
  -- required to show agricultural tower plots
  tile_restriction =
  {
    "grass-1", "grass-2", "grass-3", "grass-4",
    "dry-dirt", "dirt-1", "dirt-2", "dirt-3", "dirt-4", "dirt-5", "dirt-6", "dirt-7",
    "red-desert-0", "red-desert-1", "red-desert-2", "red-desert-3"
  }
}
Might be better to make sure the probability_expression = 0 instead of nilling the whole table.