Olhei aqui na documentação da classe EntityManager e vi que o método find não joga exceção se uma Transaction não for iniciada (ao contrário do persist, por exemplo.)
Executei o find sem o manager.getTransaction().begin(); e funcionou corretamente.
A minha dúvida é se essa prática de se fazer um find sem iniciar uma transaction pode me acarretar algum problema.