That sounds like a reasonable number, but you're right it probably is a bit more.
In addition to the two links provided by o_e_l_e_o above, a similar review of spendable Bitcoins was done back in 2014. You may want to look through that thread to see what was found at that time and how the user went about it:
-----------------------------------------
BugOpFalse 23 2,609.36304319
BugP2Pool 182 0.60280235
BugInvalidOpcode 14 0.04520008
BugInvalidPubKey 17,112 0.00242288
BugParseError 1 0.00040000
ZeroValue * 3,080 0.00000000
MissingFromUTXO ** --- 135.20897146
-----------------------------------------
Total 20,412 2,745.22283996 BTC
* Zero value unprunable outputs are not invalid outputs but they are undesirable. I was surprised to see there are over three thousand in the UTXO. In the future the creation of new zero value outputs (with the exception of the prunable OP_RETURN) could be made invalid and potentially even these outputs pruned off by a hard fork.
** As of block 305,303 the coin supply is limited to 12,882,575 BTC. This is based on the max subsidy per block and the block height. However the UTXO (set of all unspent outputs) is only 12,882,439.79102854 BTC. Some of the difference may be due to OP_RETURN outputs (which are unspendable by protocol) having a value set. This could be accidental or intentional. Another source of lost coins is due to miners taking less than the maximum block reward which in effect "de-mines" an amount of coins equal to the difference between the allowed reward and the taken reward.