I don’t think there’s a standardized cross-browser solution to your problem, but if you can find one, think twice before implementing it. By disabling autofill in the browsers you will encourage users who rely on this feature to find other “creative” solutions and they will either write down their passwords and store it near to their computers or use easy-to-remember (=weak) passwords. None of the above will really improve security.
If you don’t use type=“password”, then the browser displays the password text. Even if you could display something else via CSS, it would probably be insecure.
My bank uses type="password", but still Chrome does not display the stored/previous password. So there must be a way.
They have
<input ondragstart="return false" onselectstart="return false" value="" class="ui-form-field ui-textBox ui-keypad-input-selected vi-activeElement" style="width:132px; height:18px; line-height:18px; vertical-align:middle;" name="PIN" id="j_pin" maxlengthdev="5" ondrag="return false" oncopy="return false" autocomplete="off" bbf_required="true" requiredtext="Field is required." schematypetext="Only numeric values are allowed" showmehow="The PIN must be numeric and cannot contain alpha characters, e.g. *, #, @ or a, b, c. The PIN can be either four or five digits long." messageref=".errorMessage" type="password" tabindex="0" aria-invalid="false" aria-required="true" aria-labelledby="id-5822">