Ended up finding the issue: My environment had some symbolic links that (I assume) were messing up file change detections.
The discourse and my-plugin directories were under my Windows user, with symbolic links in the WSL Ubuntu (/home/silk/discourse → /mnt/c/Users/SilK/discourse).
The resolution was to have the true directories exist in the WSL Ubuntu environment, and create Windows symbolic links (C:\Users\SilK\discourse → \wsl.localhost\Ubuntu-20.04\home\silk\discourse).