Remove the double quotes around the filter - subprocess.call automatically adds quotes around arguments with special characters like [, ], =.
The following command should work:
subprocess.call(['ffplay','video.mp4','-vf','split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay'])
For watching the actual command line, you may add -report argument, and check the log file.
subprocess.call(['ffplay','video.mp4','-vf','split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay', '-report'])
Applies:
ffplay video.mp4 -vf "split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay" -report.
The above command is in correct syntax.
 
subprocess.call(['ffplay','video.mp4','-vf','"split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay"', '-report']
Applies:
ffplay video.mp4 -vf "\"split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay\"" -report
As you can see, subprocess added extra "\ and \", and this is the cause for your error.