Launchctl says plist is invalid, plutil says it's OK
Solution 1:
The first few lines should be
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
Your file (as well as the one in the linked answer) is missing the <plist version="1.0">
part.