Não é estranho... é muito prático! Afinal, se uma das parcelas dessa operação é flutuante, o mais lógico é imaginar que vc queira um resultado também flutuante.
Na verdade, eu me expressei mal na resposta anterior, e isso deve ter causado a impressão de estranheza. Eu disse que o Python vai tratar o inteiro "5" como um float, mas o que ele realmente faz é deduzir que vc quer o resultado em float, portanto o erro vem da representação do próprio resultado.
O erro de ponto flutuante, a propósito, é uma característica dependente da plataforma, e tem a ver principalmente com a CPU e o SO, e não é exatamente um problema da linguagem que se usa.